《数据库原理与应用期末试卷》
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)
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); |
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.用关键字delimiter_可以重新定义语句结束的标记。
3.表由列组成,我们也称为字段_。所有表都是由一个或多个列组成的。
4.MySQL的命令可以通过 \字母 的方式来表示,其中清除当前输入语句的指令是\c_。 5.事务回滚的语句rollback__。
五、解答题 (每小题3分,共30分)
1.写出查看已存在的数据库的语句
SHOW DATABASES;
2.写出 创建一个名为exam的数据库 的语句。
CREATF DATABASE exam;
3.写出 创建如下两个表,一个名为class,一个名为student 的语句
两表中分别已经存在如下数据,实现如下功能:
CREATE TABLE class (id int,cname char (10));
CREATE TABLE student(sid.int,cname char (20),classid int,score float);
4.学生表中插入一条数据:8,Xxxxx,1,99.2 其中Xxxx为同学自己姓名汉语拼音全拼。
INSERT INTO student VALUES(8, 'Mayifei',1,99.2);
5.修改学生表中sname为自己姓名汉语拼音全拼记录的sname为自己姓名中文全称.
UPDATE student SET sname='马亦飞·WHERE sid=8 ;
6.删除学生表中sname为自己姓名中文全称的记录。
DELETE student WHERE snmas="杨佳奇";
7.查询所有学生的 sid,name,score 按sid的升序排列。
SELECT sid,sname,score FROM student ORDER BY sid;
8.建立存储过程,根据classid 查询班级平均分。
CREATE PROCEDURE proc(IN id TNT)
BEGIN
SELECT classid,AVG( score)FROM student GORUP BY classid HAVING
Slassid=id
END
9建立视图,查看各班级分别有哪些同学(班级名、学生姓名)。
SREATE VIEW v_student As;
SELECT cnme,sname FROM class inner join student on class.id =student.Classid;
10.查询哪个班级没有没有学生(班级名)。
select cnme from class where id not in (select Classid from student);