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)    
        .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.用关键字_delimiter;DELIMITER可以重新定义语句结束的标记。

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

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

5.事务回滚的语句rollback;ROLLBACK

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

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

SHOW DATABASES;

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

CREATE DATABASE exam;

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

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

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

图5 class表数据
图6 student表数据
use exam;
CREATE TABLE class (id int primary key, cname char(10));
CREATE TABLE student(sid int primary key,sname char(20) not null,classid int references class(id),score float(5,2));
insert into class values (1,'wang3'),(2,'wang4'),(3,'wang5'),(4,'wang6');
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 VALUES(8,'xujie',1,99.2);
select * from student;
图7 student插入数据的结果

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

UPDATE student SET sname= '许杰'WHERE sid=8;
图8 student更新数据的结果

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

DELETE  FROM student WHERE sname='许杰';

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

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

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


DELIMITER //

CREATE PROCEDURE score()
BEGIN
    SELECT c.cname, s.score 
    FROM class c 
    JOIN (SELECT classid, ROUND(AVG(score),2) score FROM student GROUP BY classid) s 
    WHERE s.classid = c.id;
END //

DELIMITER ;

CALL score();

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

CREATE VIEW v_student AS
SELECT c.name,s.name 
FROM student s
JOIN class c ON c.id = s.classid ORDER BY c.cname ASC;
图9 视图数据

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

select cnme from class where id not in (select Classid from student)

返回