23级数媒技专业专升本《数据库原理与技术》期末试题


答题的内容用mark高亮标签表示出来。

一、单选题 (每小题1分,共30分)

1.删除一个视图的语句是(C

    A. revoke            B. delete
    C. drop              D. clear

2.一个事务的执行不受其他事务的干扰是指事务的(C

    A. 原子性            B. 一致性
    C. 隔离性            D. 持久性

3.select '1+2';的显示结果是(A

    A. 1+2               B. 3
    C. 3.0000            D. '1+2'

4.查看系统变量的值的语句是(D

    A. select @global/session.系统变量名;
    B. select @@global/session.系统变量名;
    C. select global/session.系统变量名;
    D. select @系统变量名;

5.下列(D)不属于连接的种类

    A. 左外连接            B. 内连接
    C. 交叉连接            D. 中间连接

6.一下哪项为左外连接(A

    A. left join           B. right join
    C. inner join          D. cross join

7.条件age in(20,30,40)的意思是(D

    A. 年龄在20到40之间            B. 年龄在30-40之间
    C. 年龄在20-30之间             D. 年龄为20或30或40

8.删除外键的语句为(A

    A. ALTER TABLE 表名 DROP  FOREIGN KEY 外键名
    B. ALTER TABLE 表名 DROP  外键名
    C. DROP FOREIGN KEY 外键名
    D. ALTER TABLE 表名 DELETE FOREIGN KEY 外键名

9.子查询中如果和in、any、all搭配使用,子查询的查询结果一般是(A

    A. 一列多行                B. 一行多列
    C. 多行多列                D. 以上都行

10.查找条件为:姓名不是NULL的记录(C)

    A. WHERE NAME ! NULL    
    B. WHERE NAME NOT NULL
    C. WHERE NAME IS NOT NULL
    D. WHERE NAME!=NULL

11.以下聚合函数求数据总和的是(B)

    A. MAX                  B. SUM
    C. COUNT                D. AVG

12.以下表达降序排序的是(C)

    A. ASC                 B. ESC
    C. DESC                D. DSC

13.从GROUP BY分组的结果集中再次用条件表达式进行筛选的子句是(C)

    A. FROM                B. ORDER BY
    C. HAVING            D. WHERE

14.向数据表中插入一条记录用以下哪一项(B)

    A.CREATE            B.INSERT
    C.SAVE              D.UPDATE

15.若用如下的SQL语句创建了一个表SC: ()

CREATE TABLE SC (
    Sa CHAR (6) NOT NULL,
    Ca CHAR (3) NOT NULL, 
    SCORE INT ,
    NOTE CHAR (20)
);

向sc表插入如下行时,(B) 行可以被插入。

    A. (NULL,' 103' , 80,'t1E' )    
    B. (' 200823' ,' 101', NULL,NULL)
    C. (' 201132', NULL, 86,'')    
    D. (' 201009',' 111, 60, LE)

16.以下删除记录正确的(A)

    A. delete from emp where name='dony';    
    B. Delete * from emp where name=' dony';
    C. Drop from emp where name=' dony' ;    
    D. Drop * from emp where name= 'dony';

17.以下插入记录正确的(A)

    A. insert into emp(ename,hiredate,sal) values (value1,value2,value3);    
    B. insert into emp (ename,sal)values(value1,value2,value3);
    C. insert into emp (ename)values(value1,value2,value3);
    D. insert into emp (ename,hiredate,sal)values(value1,value2);

18.以下语句不正确的是(C)

    A. select * from emp;    
    B. select ename, hiredate,sal from emp;
    C. select * from emp order deptno;
    D. select * from y where deptno=1 and sal<300;

19.delete from employee语句的作用是(B)

    A. 删除当前数据库中整个employee表,包括表结构    
    B. 删除当前数据库中employee表内的所有行
    C. 由于没有where子句,因此不删除任何数据
    D. 删除当前数据库中employee表内的当前行

20.向该表中插入数据,哪条能成功?(C

图1 表结构
    A. insert into values(11, 'zhangsan', 'null');
    B. insert into test values(11, 'zhangsan', 'null');
    C. insert into test (id, name) values(11, 'zhangsan');    
    D. insert into test (id, class) values(11, 1);
图2 插入结果

21.修改lisi的班级为2的语句为(B

    A. update test set class=2 where name=lisi;
    B. update test set class=2 where name='lisi';
    C. alter table test set class 2 where name=lisi;
    D. alter table test set class=2 where name='lisi';

22.下列哪个不是mysql中的整数类型(C

    A.INT                  B.TINYINT
    C.DOUBLE            D.MEDIUMINT

23.创建数据库使用以下哪项(D

    A.create mytest    
    B.create table mytest
    C.database mytest    
    D.create database mytest

24.一张表的主键个数为(C)

    A. 必须有一个且只能有一个    
    B. 没有限制
    C. 至多1个    
    D. 至多2个

25.下列哪项不是数据库的特点(B

    A. 实现数据的持久化
    B. 数据断电丢失
    C. 使用完整的管理系统统一管理
    D. 数据易于查询

26.下列哪个不是常见的DBMS (D)

    A. MySQL            B. Oracle
    C. SqlServer        D. OUTLOOK

27.MySQL 中,预设的、拥有最高权限超级用户的用户名为(D)

    A. test             B. Administrator
    C .DA               D. root

28.创建视图的语句是(D

    A. alter table      B. alter view
    C. create table     D. create view

29.若要在基本表S中增加一列CN (课程名),可用(D)

    A. ADD TABLE S ALTER CN CHAR(8)    
    B. ALTER TABLES ADD CN CHAR ( 8 )
    C. ADD TABLE S CN CHAR( 8)    
    D. ALTER TABLE S ADD CN CHAR( 8)

30.DECIMAL(M,D)数据类型中,M表示(A

    A. 整数部位+小数部位的位数    
    B. 小数部位的位数
    C. 整数部位的位数    
    D. 10

二、多选题 (每小题2分,共10分)

1.下列哪些情况下视图的数据无法进行更新、插入、删除(ABCD

    A. select语句中包含子查询    
    B. from一个不能更新的视图
    C. where 字句的子查询引用了from 字句中的表
    D. sql语句中包含 聚合函数,distinct,group by,having ,union,union all

2.以下是修改视图的语句是(AB

    A. create or replace view st1 as select* from student;
    B. alter view  st1 as select name from student join class on student.cid=class.id;
    C. alter table st1 modify class int(3);
    D. create or replace table  st1 as select* from student;

3.事务的属性包括( ABCD

    A. 原子性            B. 一致性
    C. 隔离性            D. 持久性

4.以下否定语句搭配正确的是(AB

    A. not in            B. is not null
    C. not is null       D. in not

5.删除test表中所有数据的语句为(CD

    A. drop table test;      B. delete table test;
    C. delete from test;     D. truncate test;

三、判断题 (每小题2分,共20分)

1.事务必须是一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行,单个语句不是事务。( ×

2.从表中添加外键约束的字段数据必须来源于主表的关联列。(

3.一个表中只能有一个外键。(×

4.对于整数数据类型,如果不设置有符号无符号,默认无符号。(×

5.VARCHAR(M)类型 ,M可以省略。(×

6.MySQL中可以删除某行中单独某一列的数据。(×

7.用desc 表名的语句可以查询表中已经存在的数据。(×

8.SQL是MySQL专有的语言,其他数据库软件无法使用。(×

9.SQL对大小写不敏感,但是习惯上我们将关键字大写。(

10.一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性。(

四、填空题 (每小题2分,共10分)

1.变量分为系统变量和 自定义变量

2.用关键字<mark>DELIMITER</mark>可以重新定义语句结束的标记。

3.表由列组成,我们也称为字段。所有表都是由一个或多个列组成的。

4.MySQL的命令可以通过 \字母 的方式来表示,其中清除当前输入语句的指令是c_

5.事务回滚的语句ROLLBACK

五、解答题 (每小题3分,共30分)

1.写出 查看已存在的数据库的语句。

show databases;

2.写出 创建一个名为exam的数据库 的语句。

CREATE DATABASE exam;

3.写出 创建如下两个表,一个名为class,一个名为student 的语句

图3 class表结构
图4 student表结构

两表中分别已经存在如下数据,实现如下功能:

图5 class表数据
图6 student表数据

    CREATE TABLE class(
       id INT,
       cname CHAR(10)
   );
    CREATE TABLE student(
       sid INT,
       sname CHAR(20),
       classid INT,
       score FLOAT(4,2)
   );



insert into student values 
(1, 'jim', 2, 70.3),
(5, 'tom', 2, 80.4),
(6, 'tony', 3, 63.5),
(3, 'lily', 1, 49.9),
(2, 'lucy', 2, 58.7),
(4, 'james', 3, 98.7),
(7, 'parker',1, 96.3);

4.学生表中插入一条数据:8,Xxxxx,1,99.2 其中Xxxx为同学自己姓名汉语拼音全拼。

INSERT INTO student(sid,sname,classid,score) VALUES(8,'chaiyuxing',1,99.2)
图7 student插入数据的结果

5.修改学生表中sname为自己姓名汉语拼音全拼记录的sname为自己姓名中文全称。

UPDATE sudent SET sname = '王骞' WHERE sname = 'chaiyuxing'
图8 student更新数据的结果

6.删除学生表中sname为自己姓名中文全称的记录。

delete from student where sname='王骞';

7.查询所有学生的 sid,name,score 按sid的升序排列。

SELECT sid,name,score FROM student ORDER BY sid ASC;

8.建立存储过程,根据classid 查询班级平均分。

DELIMITER 
   CREATE PROCEDURE get_average(IN classid INT)
   BEGIN
       FLOAT average FLOAT; 

       SELECT AVG(score) INTO average FROM students WHERE class = classid; 

       SELECT CONCAT('The average score of Class ', classid, ' is ', average);
   END
   DELIMITER ;

9.建立视图,查看各班级分别有哪些同学(班级名、学生姓名)。

 CREATE VIEW view1 AS
   SELECT
       c.cname,s.sname 
   FROM 
       student s
   LEFT JOIN
       class c
   ON
       c.id = s.classid;
图9 视图数据

10.查询哪个班级没有没有学生(班级名)。

SELECT 
    c.cname
FROM
    class c
LEFT JOIN
    sudent s
ON
    c.id = s.classid
WHERE
    s.classid IS NULL;

返回