mysql教程网


当前位置: 主页 > sql语言 >

mysql sql练习题

时间:2015-09-22 09:19来源:www.mysql.net.cn 作者:admin 点击:
一、 填空题: 1. MySQL中,创建数据库的命令为为___create Database am if not exits______。 2. 数据库的完整性分为:实体完整性、域完整性、 参照完整性 和用户自定义完整性。 3. Select 命令中,表示条件表达式用where子句,排序用order by,分组用____gr
一、 填空题:
1. MySQL中,创建数据库的命令为为___create Database  am if not exits______。
2. 数据库的完整性分为:实体完整性、域完整性、  参照完整性           和用户自定义完整性。
3. Select 命令中,表示条件表达式用where子句,排序用order by,分组用____group by___子句。
4. 在SQL 中,测试列值是否为空用______is null_____运算符号。
5. SQL可用____________alter 或update__________命令修改表。
6. 数据库管理系统(DBMS)属于__系统_____软件。
7. 数据库设计中,将ER图转换成关系数据模型的过程属于____________逻辑设计阶段____________。
8. SQL语句中修改表结构的命令是_    Alter table
____。
在数据库系统中,视图的内容实际上不存在,而是从__视图是从一个或几个基本表导出的表
9. ________导出。
10. MySQL中显示表中列信息的指令为_______。
bool型数
据用于
11. 存储逻辑值,它只有两种状态,即_____TRUE
____和_____FALSE
__







__。
12. BLOB用于保存_____大型二进制数据 或二进制数据
13. 将一个列设置为主键的方法是,在列的定义中使用”PRIMARY KEY/  KEY”_子句。
14. 实际使用中,经常需要将一个列设置为“BIGINT UNSIGNED NOT NULL  AUTO_INCREMENT UNIQUE”属性,为便于进行这一操作,可以使用关键字____SERIAL_____来替代这段很长的代码。  自连接_________是指一张表与其自身进行连接进行的查询,由于是同一张表,其名称难以 区分,因此自连接需要对表使用   ____别名____________ 。 
15. 如果需要将几个互不相干的查询的结果合并成一个结果,可以使用______UNION___关键字。
二、 选择题:
1. 陈述A:varchar型数据表示固定长字符数据。
陈述B:char型数据表示不定长字符数据。
关于对以上陈述的描述中,正确的是( A)。
A. 都是错误的      B. 都正确
C. 陈述A正确,陈述B错误  D. 陈述A错误,陈述B正确
2. 在SQL中,DROP  INDEX 语句的作用是(B)
A.. 建立索引      B. 删除索引   C. 修改索引       D. 更新索引
3.   MySQL是一种(   A )类型的数据库管理系统。
A. 关系模型       B. 网状模型
C. 实体-关系模型      D. 层次模型
4.     用SQL 的ALTER TABLE 语句修改基本表时,删除其中某个列的约束条件应使用的子句是(D)
A.ADD       B.  DELETE    C. MODIFY     D.  DROP
5.下列语言中属于结构化查询语言的是(  C  )。
A. Java  B. C  C. SQL   D. C++
6.    在DBMS中用的缺省的语言是( B   )。
A. C++   B. SQL   C. Java   D. C
7.使用SELECT语句显示表的所有的列时,选用的符号是(A    )。
A. *   B. []  C. _   D. [^]
8.使用SELECT语句检索带特定条件的数据时,应使用的关键字是( D   )。
A. ORDER  B. BETWEEN  C. LIKE  D. WHERE
9.    在SQL 中,SELECT语句的完整语法较复杂,但至少包括(B)
A. SELECT ,INTO       B.  SELECT, FROM
C.  SELECT, GROUP     D. 仅SELECT
10. SQL 查询中去除重复数据的是( C)
A.  ORDER  BY       B.  GROUP  BY
C.  DISTINCT         D.  DESC
11.  null 等于 ( B  )
A.  0           B.  空白     C.  不确定      D.  无意义
12. 下列语言中属于结构化查询语言的是( C  )。
A. Java     B. C
C. SQL      D. C++

13.测验中分数在80到100之间的候选人需要面试,合适的查询语句是(  A  )。
A. SELECT vFirstName,vLastName,siTestScore
FROM ExternalCandidate
WHERE siTestScore>=80  AND  siTestScore<=100
B. SELECT vFirstName,vLastName,siTestScore
FROM ExternalCandidate
WHERE siTestScore>80  AND  siTestScore<100
C. SELECT vFirstName,vLastName,siTestScore
FROM ExternalCandidate
WHERE siTestScore<=80  AND  siTestScore>=100
D. SELECT vFirstName,vLastName,siTestScore
FROM ExternalCandidate
WHERE siTestScore<80  AND  siTestScore>100
14.         陈述A:任何两个NULL值都不可能相等。
陈述B:在以升序排序的输出中,NULL值总是第一个被显示的项。
关于对以上陈述的描述中,正确的是(B    )。
A. 陈述A正确,陈述B错误  B. 陈述A错误,陈述B正确
C. 都正确       D. 都是错误的
15.    列出居住在MA或者DC州的所有的出版商,其SELECT语句是( B  )。
A. SELECT Pub_Name,City
FROM  Publishers
WHERE State = (‘MA’,‘DC’)
B. SELECT Pub_Name,City
FROM  Publishers
WHERE State IN (‘MA’,‘DC’)
C. SELECT Pub_Name,City
FROM  Publishers
WHERE State BETWEEN ‘MA’ AND ‘DC’
D. SELECT Pub_Name,City
FROM  Publishers
WHERE State=‘MA’ AND  State=‘DC’
16.查询报纸名字中包含“Texas Times”的报纸的材料,合适的查询语句是(  A  )。
A. SELECT cNewspaperName,vContractPerson,cPhone
FROM  Newspaper
WHERE cNewspaperName  LIKE ‘%Texas Times%’
B. SELECT cNewspaperName,vContractPerson,cPhone
FROM  Newspaper
WHERE cNewspaperName  LIKE ‘Texas Times’
C. SELECT cNewspaperName,vContractPerson,cPhone
FROM  Newspaper
WHERE cNewspaperName  LIKE ‘Texas Times%’
D. SELECT cNewspaperName,vContractPerson,cPhone
FROM  Newspaper
WHERE cNewspaperName  LIKE ‘[Texas Times]’
17.查询职位编号和职位描述,cPositionCode为职位编号字段名,vDescription为职位描述字段名,以职位编号升序,职位描述降序排列结果,则合适的查询是(  B  )。
A. SELECT cPositionCode,vDescription
FROM Position
ORDER BY cPositionCode DESC,vDescription ASC
B. SELECT cPositionCode,vDescription
FROM Position
ORDER BY cPositionCode,vDescription DESC
C. SELECT cPositionCode,vDescription
FROM Position
ORDER BY vDescription DESC, cPositionCode ASC
D. SELECT cPositionCode,vDescription
FROM Position
ORDER BY vDescription, cPositionCode
18.编写一个查询,显示已收到申请的外部候选人所在城市的列表,合适的查询是(  D )。
A. SELECT cCity
FROM ExternalCandidate
ORDER BY cCity
B. SELECT cCity
FROM ExternalCandidate
C. SELECT DISTINCT *
FROM ExternalCandidate
D. SELECT DISTINCT cCity
FROM ExternalCandidate
19.       陈述A:在内连接里,只有那些其值满足公共列中连接条件的行被显示。
陈述B:对于外连接,结果集包含来自一个表的所有行和另一个表中的匹配行,如果相关表中没有找到匹配的记录,那么这一列显示为NULL。
陈述C:两个表之间的交叉连接中,第一个表的每一行与第二个表的每一行进行连接。
陈述D:自连接是一个表中的行与同一个表中的其他行进行相关联。
陈述E:对结果集的冗余列数据进行限制的连接叫自然连接,它无需在Select查询中显示声明连接条件。
关于对以上陈述的描述中,正确的是(  D  )。
A. B、D、E  B. A、C、E     C.A、B、E  D. A、B、C、D、E
20.   下列哪一种连接保证包含第一个表中的所有行和第二个表中的所有匹配行(A)。
A. LEFT OUTER JOIN   B. RIGHT OUTER JOIN
C. INNER JOIN    D. JOIN
21.陈述A:查询的类型返回一个带有多值结果的单列用IN子句实现。
陈述B:对于是否存在数据的子查询用EXISTS实现。
关于对以上陈述的描述中,正确的是(    D)。
A. 陈述A错误,陈述B正确  B. 陈述A正确,陈述B错误
C. 都是错误的      D. 都正确
22.     不允许为Employee表的某条记录插入在Position表中不在的cPositionCode值,这是实施了哪一种类型的数据完整性?( C )。
A. 域完整性      B. 实体完整性
C. 引用完整性      D. 用户定义完整性
23.陈述A:插入数据值的数目必须与表或列表中的属性数目一致。
陈述B:当插入数据值的数目等于表的全部属性的数目时,可以省略列表名的指定。
关于对以上陈述的描述中,正确的是(   C )。
A. 都正确        B. 陈述A错误,陈述B正确
C. 陈述A正确,陈述B错误   D. 都是错误的
24.     语句ALTER TABLE实现的是哪类功能(B)
A、 数据查询       B、 数据操纵
C、 数据定义       D、 数据控制
25.查询测验中分数不属于80到100之间的候选人,合适的查询语句是(  A )。
A. SELECT vFirstName,vLastName,siTestScore
FROM ExternalCandidate
WHERE  siTestScore  NOT BETWEEN  80  AND  100
B. SELECT vFirstName,vLastName,siTestScore
FROM ExternalCandidate
WHERE  siTestScore  BETWEEN  80  AND  100
C. SELECT vFirstName,vLastName,siTestScore
FROM ExternalCandidate
WHERE  siTestScore  NOT BETWEEN  100  AND  80
D. SELECT vFirstName,vLastName,siTestScore
FROM ExternalCandidate
WHERE  siTestScore  BETWEEN  100  AND  80
26.    下列四项中,不属于数据库特点的是(  A    )。C
A. 数据共享   B. 数据完整性C. 数据冗余很高  D. 数据独立性高
27. 有一表:DEPT (dno, dname) ,如果要找出倒数第三个字母为W,并且至少包含4个字母的dname,则查询条件子句应写成 where dname  like ( B  )。
A.’_ _W_% ’        B.’_%W_ _’
C.’_W_ ’           D.’_W_%’
28.下列哪一种连接保证包含第一个表中的所有行和第二个表中的所有匹配行(A)。
A. LEFT OUTER JOIN
B. RIGHT OUTER JOIN
C. INNER JOIN
D. JOIN
29. 18.语句ALTER TABLE实现的是哪类功能(B)
A、 数据查询
B、 数据操纵
C、 数据定义
D、 数据控制
30.       若用如下SQL语句创建一个student表:
create  table  student ( id   char (4)  not null,
             name  char (8) not null,
             sex    char (2),
             age    smallint (2)
)
可以插入到student表中的是( B )。
A.(’1031’,  ‘张三’,  男,23)
B.(‘1031’, ’张三’,  NULL,  NULL)
C.(NULL, ’张三’,  ’男’,  ’23’ )
D.(‘1031’,  NULL, ’男’,  23 )
31. 删除student 表的所有数据(  A )
A. delete * from  student
B. delete  all  from  student
C. delete  from  student
D. delete  rows  from  student
32. 在一个表中最多可以有几个主键( A   )
A. 没有限制         B. 每列上可以建一个
C. 16               D. 1
33.列出居住在MA或者DC州的所有的出版商,其SELECT语句是(  B  )。
A. SELECT Pub_Name,City
FROM  Publishers
WHERE State = (‘MA’,‘DC’)
B. SELECT Pub_Name,City
FROM  Publishers
WHERE State IN (‘MA’,‘DC’)
C. SELECT Pub_Name,City
FROM  Publishers
WHERE State BETWEEN ‘MA’ AND ‘DC’
D. SELECT Pub_Name,City
FROM  Publishers
WHERE State=‘MA’ AND  State=‘DC’
34. 查询结果集中将name字段显示为“姓名”,应该使用下面哪个语句?(D   )
A. select  name  from  authors  as  姓名
B.  select  au_fname=姓名  from   authors
C.  select *  from  authors  where  name=姓名
D.  select  name   姓名   from   authors
35. 在SQL中,建立视图用(B  )。
A. Create  table 命令     B. Create  view 命令
C. Create  index 命令     D. Create  proc 命令
36.    B使用INSERT插入记录时,可以使用哪一关键字忽略会导致重复关键字错误的记录?
A.NO SAME      B.IGNORE      C.REPEAT    D.UNIQUE
37. 使用DELETE删除数据时,会有一个返回值,其含义是: A
A. 被删除的记录的数目    B.删除操作所针对的表名
C.删除是否成功执行     D.以上均不正确 
38.    使用CREATE VIEW创建视图时,如果给定了_B___子句,能替换已有的视图。 A.ALL REPLACE                B. OR REPLACE 
C.REPLACE              D.REPLACE  ALL
39. ___C___命令可以查看视图的创建语句  A.SHOW VIEW    B.SELECT VIEW C.SHOW CREATE VIEW    D.DISPLAY VIEW 
40. 以下哪项不是HASH索引的特征? A
A. 只用于使用“>”或“<”操作符的比较
B. 不能使用hash索引来加速ORDER BY操作
C. MySQL不能确定在两个值之间大约有多少行 
D. 只能使用整个关键字来搜索一行
41.       从学生(STUDENT)表中的姓名(NAME)字段查找姓“张”的学生可以使用如下代 码:select * from student where __A_____          。
A.NAME=’张*’           B.NAME=‘%张%’
   C.NAME LIKE ‘张%’      D.NAME LIKE ‘张*’ 
42. 要快速完全清空一个表,可以使用如下语句:A
A. TRUNCATE TABLE     B. DELETE TABLE  C. DROP TABLE    D. CLEAR TABLE
43. 在显示数字时,要想使用0作为填充符,可以使用哪一关键字?A
A. ZEROFILL    B.ZEROFULL    C.FILLZERO   D.FULLZERO
44. HANDLER语句用于:     B
A.锁定一张表     B.快速读取表中的数据
C.为表重命名     D.传递一张表
45. 使用SELECT查询数据时,以下哪一子句排列的位置最靠后?C
A.WHERE     B.ORDER BY     C.LIMIT    D.HAVING
46. DATATIME支持的最大年份为哪一年? B
A.2070    B.9999    C.3000    D.2099
47. 使用ALTER TABLE修改表时,如果要修改表的名称,可以使用哪一子句? C
A.CHANGE NAME    B.SET NAME     C.RENAME      D.NEW NAME
48. 要想对表中记录分组查询,可以使用哪一子句? A
A.GROUP BY       B.AS GROUP       C.GROUP  AS    D.TO GROUP
49. 创建表时,不允许某列为空可以使用: A
A.NOT NULL    B.NO NULL       C.NOT BLANK   D.NO BLANK
50. 创建视图时:A
A. 可以引用其它的视图    B. 一个视图只能涉及一张表
C. 可以替代一个基表      D. 以上说法都不正确
三、根据题目条件,写出相应的命令:
(一 )学生表:Student (Sno, Sname, Ssex , Sage,  Sdept)
                  学号,姓名,性别,年龄,所在系   Sno为主键
课程表:Course  (Cno,   Cname,)
                   课程号,课程名    Cno为主键
学生选课表:SC (Sno,   Cno,     Score)
                   学号,课程号,成绩   Sno,Cno为主键
1.用SQL语句创建学生表student,定义主键,姓名不能重名,性别只能输入男或女,所在系的默认值是 “计算机”。
    Create table student (sno char(5) primary key,Sname char(8) unique,ssex char(3),
     check(ssex in('男','女')),sage int,sdept char(20) default '计算机');
2.修改student 表中年龄(age)字段属性,数据类型由int 改变为smallint。
    alter table student modify sage SMALLINT;
3.为SC表建立按学号(sno)和课程号(cno)组合的升序的主键索引,索引名为SC_INDEX 。
      
4.向student表添加一条纪录:200201,张三,男,21,计算机。
5.选修了2号课程且成绩低于70的的学生每人成绩增加5分。
6.删除选修了课程名称为“单片机”的学生的选课成绩记录。
7.创建一视图 stu_info,查询全体学生的姓名,性别,课程名,成绩。
8.查询不及格学生的姓名。
9.查询选修四门以上课程的学生学号。
10.查询2号课程的最高分的学生的姓名。
(二)
1.用SQL语句创建学生选课表sc,定义主键约束,并且用check约束“成绩”字段在0-100分之间。
2.向Student 表中增加注册日期(regdate)字段,数据类型为日期型
3.为Student建立按学号(sno)升序的唯一索引,索引名为sno_name。 
4.向Student表添加一条纪录:200201,张三,男,21,计算机。
5.给选修了1号课程且成绩低于70的的学生每人成绩增加5分。
6. 查询student表中成绩在前三位的学生的学号,姓名及所在系。
7.创建一视图 stu_info,查询全体学生的基本情况(包括学号,姓名,性别,年龄,所在系,课程号,课程名等字段),结果按所在系的升序排列,同一系的按年龄降序排列。
8.查询所有比“李四”年龄大的学生姓名,年龄和性别。
9.用分组汇总语句查询选修四门以上课程的学生学号。(其中计数的聚合函数为count())
10.分析以下SQL 语句:
SELECT  SNO  FROM SC
WHERE Score =(SELECT MAX(Score) FROM SC WHERE CNO=’002’)
  请问上述语句完成了什么查询操作? 
(责任编辑:admin)
顶一下
(0)
0%
踩一下
(3)
100%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片