Mysql 测试题 (总分150分,时间2个小时)
一、单项选择题( 1分1个,共100分)
1.以下聚合函数求数据总和的是( )
A.MAX
B.SUM
C.COUNT
D.AVG
答案:B
2.可以用( )来声明游标
A.CREATE CURSOR
B.ALTER CURSOR
C.SET CURSOR
D.DECLARE CURSOR
答案:D
3.SELECT语句的完整语法较复杂,但至少包括的部分是( )
A.仅SELECT
B.SELECT,FROM
C.SELECT,GROUP
D.SELECT,INTO
答案:B
4.SQL语句中的条件用以下哪一项来表达( )
A.THEN
B.WHILE
C.WHERE
D.IF
答案:C
5.使用CREATE TABLE语句的( )子句,在创建基本表时可以启用全文本搜索
A.FULLTEXT
B.ENGINE
C.FROM
D.WHRER
答案:A
6.以下能够删除一列的是( )
A.alter table emp remove addcolumn
B.alter table emp drop column addcolumn
C.alter table emp delete column addcolumn
D.alter table emp delete addcolumn
答案:B
7.若要撤销数据库中已经存在的表S,可用( )。
A.DELETE TABLE S
B.DELETE S
C.DROP S
D.DROP TABLE S
答案:D
8.查找表结构用以下哪一项( )
A.FIND
B.SELETE
C.ALTER
D.DESC
答案:D
9.要得到最后一句SELECT查询到的总行数,可以使用的函数是( )
A.FOUND_ROWS
B.LAST_ROWS
C.ROW_COUNT
D.LAST_INSERT_ID
答案:A
10.在视图上不能完成的操作是( )
A.查询
B.在视图上定义新的视图
C.更新视图
D.在视图上定义新的表
答案:D
11.UNIQUE惟一索引的作用是( )
A.保证各行在该索引上的值都不得重复
B.保证各行在该索引上的值不得为NULL
C.保证参加惟一索引的各列,不得再参加其他的索引
D.保证惟一索引不能被删除
答案:A
12.用于将事务处理写到数据库的命令是( )
A.insert
B.rollback
C.commit
D.savepoint
答案:C
13.查找条件为:姓名不是NULL的记录( )
A.WHERE NAME ! NULL
B.WHERE NAME NOT NULL
C.WHERE NAME IS NOT NULL
D.WHERE NAME!=NULL
答案:C
14.主键的建立有( )种方法
A.一
B.四
C.二
D.三
答案:D
15.在视图上不能完成的操作是( )
A.更新视图数据
B.在视图上定义新的基本表
C.在视图上定义新的视图
D.查询
答案:B
16.在SQL语言中,子查询是( ) 。
A.选取单表中字段子集的查询语句
B. 选取多表中字段子集的查询语句
C.返回单表中数据子集的查询语言
D.嵌入到另一个查询语句之中的查询语句
答案:D
17.向数据表中插入一条记录用以下哪一项( )
A.CREATE
B.INSERT
C.SAVE
D.UPDATE
答案:B
18.在select语句的where子句中,使用正则表达式过滤数据的关键字是( )
A.like
B.against
C.match
D.regexp
答案:D
19.SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE、DELETE等。其中最重要的,也是使用最频繁的语句是( )。
A.UPDATE
B.SELECT
C.DELETE
D.INSERT
答案:B
20. 以下哪种操作能够实现实体完整性( )
A.设置唯一键
B.设置外键
C.减少数据冗余
D.设置主键
答案:B
21.SQL语言中,删除一个视图的命令是( )
A.REMOVE
B.CLEAR
C.DELETE
D.DROP
答案:D
22.修改数据库表结构用以下哪一项( )
A.UPDATE
B.CREATE
C.UPDATED
D.ALTER
答案:D
23.在全文本搜索的函数中,用于指定被搜索的列的是( A )
A.MATCH()
B.AGAINST()
C.FULLTEXT()
D.REGEXP()
答案:A
24.以下语句正确的是( )
A.select sal+1 from emp;
B.select sal10,saldeptno from emp;
C.不能使用运算符号
D.select sal10,deptno10 from emp;
答案:C
25.下列( )不属于连接种类
A.左外连接
B.内连接
C.中间连接
D.交叉连接
答案:C
26.若用如下的SQL语句创建了一个表SC:( )
CREATE TABLE SC (S# CHAR(6) NOT NULL,C# CHAR(3) NOT NULL,SCORE INTEGER,NOTE CHAR(20));向SC表插入如下行时,( )行可以被插入 。
A.(NULL,’103’,80,’选修’)
B.(’200823’,’101’,NULL,NULL)
C.(’201132’,NULL,86,’ ’)
D.(’201009’,’111’,60,必修)
答案:B
27.删除用户账号命令是( )
A.DROP USER
B.DROP TABLE USER
C.DELETE USER
D.DELETE FROM USER
答案:A
28.以下语句错误的是( )
A. alter table emp delete column addcolumn;
B. alter table emp modify column addcolumn char(10);
C.alter table emp change addcolumn addcolumn int;
D. alter table emp add column addcolumn int;
答案:A
29.组合多条SQL查询语句形成组合查询的操作符是( )
A.SELECT
B.ALL
C.LINK
D.UNION
答案:D
30.创建数据库使用以下哪项( )
A.create mytest
B.create table mytest
C.database mytest
D.create database mytest
答案:D
31.以下哪项用来分组( )
A.ORDER BY
B.ORDERED BY
C.GROUP BY
D.GROUPED BY
答案:C
32.SQL是一种( )语言。
A. 函数型
B.高级算法
C.关系数据库
D. 人工智能
答案:C
33.删除数据表用以下哪一项( )
A.DROP
B.UPDATE
C.DELETE
D.DELETED
答案:A
34.若要在基本表S中增加一列CN(课程名),可用( )
A.ADD TABLE S ALTER(CN CHAR(8))
B.ALTER TABLE S ADD(CN CHAR(8))
C.ADD TABLE S(CN CHAR(8))
D.ALTER TABLE S (ADD CN CHAR(8))
答案:B
35.下列的SQL语句中,( )不是数据定义语句。
A.CREATE TABLE
B.GRANT
C.CREATE VIEW
D. DROP VIEW
答案:B
36.以下删除记录正确的( )
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’;
答案:A
37.删除经销商1018的数据记录的代码为( ) from distributors where distri_num=1018
A.drop table
B.delete *
C.drop column
D.delete
答案:D
38.按照姓名降序排列( )
A.ORDER BY DESC NAME
B.ORDER BY NAME DESC
C.ORDER BY NAME ASC
D.ORDER BY ASC NAME
答案:B
39.可以在创建表时用( )来创建唯一索引,也可以用( )来创建唯一索引
A.Create table,Create index
B.设置主键约束,设置唯一约束
C.设置主键约束,Create index
D.以上都可以
答案:C
40.在SELECT语句中,使用关键字( )可以把重复行屏蔽
A.TOP
B.ALL
C.UNION
D.DISTINCT
答案:D
41.以下聚合函数求平均数的是( )
A.COUNT
B.MAX
C.AVG
D.SUM
答案:C
42.返回当前日期的函数是( )
A.curtime()
B.adddate()
C.curnow()
D.curdate()
答案:D
43.用来插入数据的命令是( ),用于更新的命令是( )
A.INSERT,UPDATE
B.CREATE,INSERT INTO
C.DELETE,UPDATE
D.UPDATE,INSERT
答案:A
44.SELECT COUNT(SAL) FROM EMP GROUP BY DEPTNO;意思是( )
A.求每个部门中的工资
B.求每个部门中工资的大小
C.求每个部门中工资的综合
D.求每个部门中工资的个数
答案:D
45.以下表达降序排序的是( )
A.ASC
B.ESC
C.DESC
D.DSC
答案:C
46.以下哪项不属于数据模型( )
A.关系模型
B.网状模型
C.层次模型
D.网络模型
答案:D
47.有三个表,它们的记录行数分别是10行、2行和6行,三个表进行交叉连接后,结果集中共有( )行数据
A.18
B.26
C.不确定
D.120
答案:D
48.从GROUP BY分组的结果集中再次用条件表达式进行筛选的子句是( )
A.FROM
B.ORDER BY
C.HAVING
D.WHERE
答案:C
49.为数据表创建索引的目的是( )
A.提高查询的检索性能
B.归类
C.创建唯一索引
D.创建主键
答案:A
50.如果要回滚一个事务,则要使用( )语句。
A.commit transaction
B. begin transaction
C. revoke
D.rollback transaction
答案:D
51.查找数据表中的记录用以下哪一项( )
A.ALTRE
B.UPDATE
C.SELECT
D.DELETE
答案:C
52.在MySQL中,建立数据库用( )
A.CREATE TABLE命令
B.CREATE TRIGGER命令
C.CREATE INDEX命令
D.CREATE DATABASE命令
答案:D
53.MySQL中,预设的、拥有最高权限超级用户的用户名为( )
A.test
B.Administrator
C.DA
D.root
答案:D
54.以下插入记录正确的( )
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);
答案:A
55.在SQL语言中的视图VIEW是数据库的( )
A.外模式
B.存储模式
C.模式
D. 内模式
答案:A
56.以下哪项用来排序( )
A.ORDERED BY
B.ORDER BY
C.GROUP BY
D.GROUPED BY
答案:B
57.以下聚合函数求个数的是( )
A.AVG
B.SUM
C.MAX
D.COUNT
答案:D
58.在select语句中,实现选择操作的子句是( )
A.select
B.group by
C.where
D.from
答案:C
59.查找数据库中所有的数据表用以下哪一项( )
A.SHOW DATABASE
B.SHOW TABLES
C.SHOW DATABASES
D.SHOW TABLE
答案:B
60.触发器不是响应以下哪一语句而自动执行的Mysql语句
A.select
B.insert
C.delete
D.update
答案:A
61.( )表示一个新的事务处理块的开始
A.START TRANSACTION
B.BEGIN TRANSACTION
C.BEGIN COMMIT
D.START COMMIT
答案:A
62.以下语句不正确的是( )
A.select * from emp;
B.select ename,hiredate,sal from emp;
C.select * from emp order deptno;
D.select * from where deptno=1 and sal<300;
答案:C
63.delete from employee语句的作用是( )
A.删除当前数据库中整个employee表,包括表结构
B.删除当前数据库中employee表内的所有行
C.由于没有where子句,因此不删除任何数据
D.删除当前数据库中employee表内的当前行
答案:B
64.按照班级进行分组( )
A.ORDER BY CLASSES
B.DORDER CLASSES
C.GROUP BY CLASSES
D.GROUP CLASSES
答案:C
65.格式化日期的函数是( )
A.DATEDIFF()
B.DATE_FORMAT()
C.DAY()
D.CURDATE()
答案:B
66.例如数据库中有A表,包括学生,学科,成绩 ,序号四个字段 , 数据库结构为
学生 学科 成绩 序号
张三 语文 60 1
张三 数学 100 2
李四 语文 70 3
李四 数学 80 4
李四 英语 80 5
上述哪一列可作为主键列( )
A.序号
B.成绩
C.学科
D.学生
答案:A
67.学生关系模式 S( S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。要在表S中删除一个属性“年龄”,可选用的SQL语句是( )。
A. UPDATE S Age
B.DELETE Age from S
C.ALTER TABLE S ‘Age’
D. ALTER TABLE S DROP Age
答案:D
68.以下哪项用于左连接( )
A.JOIN
B.RIGHT JOIN
C.LEFT JOIN
D.INNER JOIN
答案:C
69.一张表的主键个数为( )
A.至多3个
B.没有限制
C.至多1个
D.至多2个
答案:C
70.SQL语言是( )的语言,轻易学习 。
A.导航式
B.过程化
C.格式化
D.非过程化
答案:D
71.在正则表达式中,匹配任意一个字符的符号是( )
A..
B.*
C.?
D.-
答案:A
72.条件“BETWEEN 20 AND 30”表示年龄在20到30之间,且( )
A.包括20岁不包括30岁
B.不包括20岁包括30岁
C.不包括20岁和30岁
D.包括20岁和30岁
答案:D
73.以下表示可变长度字符串的数据类型是( )
A.TEXT
B.CHAR
C.VARCHAR
D.EMUM
答案:C
74.以下说法错误的是( )
A.SELECT max(sal),deptno,job FROM EMP group by sal;
B.SELECT max(sal),deptno,job FROM EMP group by deptno;
C.SELECT max(sal),deptno,job FROM EMP;
D.SELECT max(sal),deptno,job FROM EMP group by job;
答案:C
75.以下匹配’1 ton’和’2 ton’及’3 ton’的正则表达式是( )
A.‘123 ton’
B.‘1,2,3 ton’
C.’[123] ton’
D.‘1|2|3 ton’
答案:C
76.拼接字段的函数是( )
A.SUBSTRING()
B.TRIM()
C.SUM()
D.CONCAT()
答案:D
77.以下删除表正确的( )
A.Delete * from emp
B.Drop database emp
C.Drop * from emp
D.delete database emp
答案:B
78.下列说法错误的是( )
A.GROUP BY 子句用来分组 WHERE 子句的输出
B.WHERE 子句用来筛选 FROM 子句中指定的操作所产生的行。
C.聚合函数需要和group by 一起使用
D.HAVING 子句用来从FROM的结果中筛选行
答案:D
79.条件年龄BETWEEN 15 AND 35表示年龄在15至35之间,且( )
A.不包括15岁和35岁
B.包括15岁但不包括35岁
C.包括15岁和35岁
D.包括35岁但不包括15岁
答案:C
80.创建视图的命令是( )
A.alter view
B.alter table
C.create table
D.create view
答案:D
81.存储过程是一组预先定义并( )的Transact-SQL语句
A.保存
B.编写
C.编译
D.解释
答案:C
82.返回字符串长度的函数是( )
A.len()
B.length()
C.left()
D.long()
答案:B
83.从数据表中查找记录用以下哪一项( )
A.UPDATE
B.FIND
C.SELECT
D.CREATE
答案:C
84.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能( )
A.数据操纵
B.数据控制
C.数据定义
D.数据查询
答案:C
85.以下哪项不属于DML操作( )
A.insert
B.update
C.delete
D.create
答案:D
86.按照姓名升序序排列( )
A.ORDER BY NAME ASC
B.ORDER BY ASC NAME
C.ORDER BY NAME DESC
D.ORDER BY DESC NAME
答案:A
87.有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。其中S#是学生号,SNAME是学生姓名,SAGE是学生年龄, C#是课程号,CNAME是课程名称。要查询选修“ACCESS”课的年龄不小于20的全体学生姓名的SQL语句是SELECT SNAME FROM S,C,SC WHERE子句。这里的WHERE子句的内容是( )。
A.SAGE>=20 and CNAME=’ ACCESS’
B.S.S# = SC.S# and C.C# = SC.C# and SAGE in>=20 and CNAME in ‘ACCESS’
C.SAGE in>=20 and CNAME in ‘ACCESS’
D.S.S# = SC.S# and C.C# = SC.C# and SAGE>=20 and CNAME=‘ACCESS’
答案:D
88.以下哪项属于DDL操作( )
A.update
B.create
C. insert
D.delete
答案:B
89.查找条件为:姓名为NULL的记录( )
A.WHERE NAME NULL
B.\WHERE NAME IS NULL
C.WHERE NAME=NULL
D.\WHERE NAME ==NULL
答案:B
90.条件“IN(20,30,40)”表示( )
A.年龄在20到40之间
B.年龄在20到30之间
C.年龄是20或30或40
D.年龄在30到40之间
答案:C
91.更新数据表中的记录用以下哪一项( )
A.DELETE
B.ALTRE
C.UPDATE
D.SELECT
答案:C
92.关系数据库中,主键是( )
A.创建唯一的索引,允许空值
B.只允许以表中第一字段建立
C.允许有多个主键的
D.为标识表中唯一的实体
答案:D
93.使用SELECT语句随机地从表中挑出指定数量的行,可以使用的方法是( )
A.在LIMIT子句中使用RAND()函数指定行数,并用ORDER BY子句定义一个排序规则
B.只要使用LIMIT子句定义指定的行数即可,不使用ORDER BY子句
C.只要在ORDER BY子句中使用RAND()函数,不使用LIMIT子句
D.在ORDER BY子句中使用RAND()函数,并用LIMIT子句定义行数
答案:D
94.进入要操作的数据库TEST用以下哪一项( )
A.IN TEST
B.SHOW TEST
C.USER TEST
D.USE TEST
答案:D
95.例如数据库中有A表,包括学生,学科,成绩三个字段 , 数据库结构为
学生 学科 成绩
张三 语文 80
张三 数学 100
李四 语文 70
李四 数学 80
李四 英语 80
如何统计每个学科的最高分( )
A.select 学生,max(成绩) from A group by 学生;
B.select 学科,max(成绩) from A group by 学科;
C.select 学生,max(成绩) from A order by学生;
D.select 学生,max(成绩) from A group by 成绩;
答案:B
96.下列哪些语句对主键的说明正确( )
A.主键可重复
B.主键不唯一
C.在数据表中的唯一索引
D.主键用foreign key修饰
答案:C
97.数据库服务器、数据库和表的关系,正确的说法是( )
A.一个数据库服务器只能管理一个数据库,一个数据库只能包含一个表
B.一个数据库服务器可以管理多个数据库,一个数据库可以包含多个表
C.一个数据库服务器只能管理一个数据库,一个数据库可以包含多个表
D.一个数据库服务器可以管理多个数据库,一个数据库只能包含一个表
答案:B
98.例如数据库中有A表,包括学生,学科,成绩三个字段 , 数据库结构为
学生 学科 成绩
张三 语文 60
张三 数学 100
李四 语文 70
李四 数学 80
李四 英语 80
如何统计最高分>80的学科( )
A.SELECT MAX(成绩) FROM A GROUP BY学科 HAVING MAX(成绩)>80;
B.SELECT学科 FROM A GROUP BY学科 HAVING成绩>80;
C.SELECT学科 FROM A GROUP BY学科 HAVING MAX(成绩)>80;
D.SELECT学科 FROM A GROUP BY学科 WHERE MAX(成绩)>80;
答案:C
99.统计每个部门中人数( )
A.SELECT SUM(ID) FROM EMP GROUP BY DEPTNO;
B.SELECT SUM(ID) FROM EMP ORDER BY DEPTNO;
C.SELECT COUNT(ID) FROM EMP ORDER BY DEPTNO;
D.SELECT COUNT(ID) FROM EMP GROUP BY DEPTNO;
答案:D
100.DECIMAL是( )数据类型
A.可变精度浮点值
B.整数值
C.双精度浮点值
D.单精度浮点值
答案:A
二、填空题(1分1个,共30分)
1.select 9/3;的结果为_____。
答案:3.0000
2.补全语句:select vend_id,count(*) as num_prods from products group by ____;
答案:vend_id
3.用SELECT进行模糊查询时,可以使用匹配符,但要在条件值中使用____或%等通配符来配合查询。
答案:-
4.当所查询的表不在当前数据库时,可用___________________________格式来指出表或视图对象
答案:数据库.所有者名称.对象名称
5.语句SELECT “1+2”;的显示结果是____
答案:“1+2”
6.如果MySQL服务名为MySQL5,则在Windows的命令窗口中,启动MySQL服务的指令是____
答案:net start mysql5
7.MySQL是一种______(多用户、单用户)的数据库管理系统
答案:多用户
8.select ‘2.5a’+3;的结果为_____。
答案:5.5
9.select (NULL<=>NULL) is NULL;的结果为_____。
答案:0
10.创建数据表的命令语句是_________
答案:create table
11.____语句可以修改表中各列的先后顺序
答案:ALTER TABLE
12.当某字段要使用AUTO_INCREMENT的属性时,该字段必须是____类型的数据。
答案:INT
13.当某字段要使用AUTO_INCREMENT的属性时,除了该字段必须是指定的类型外,该字段还必须是____
答案:关键字段或索引字段
14.在SELECT语句的FROM子句中最多可以指定_______个表或视图
答案:256
15.ODBC是一种____________
答案:开放式数据库连接
16.在SELECT语句的FROM子句中可以指定多个表或视图,相互之间要用________分隔
答案:逗号
17.Table ‘a1’ already exists这个错误信息的含义是_____
答案:表a1已经存在
18.对一个超过200个汉字的内容,应用一个____型的字段来存放
答案:text
19.在INSERT触发器中,可以引用一个名为____的虚拟表,访问被插入的行
答案:NEW
20.语句SELECT “张三\n李四”的显示结果是_____
答案:”张三\n李四”
21.smallint数据类型占用的字节数分别为
答案:2
22.在DELETE触发器中,可以引用一个名为____的虚拟表,访问被删除的行
答案:OLD
23.察看当前数据库中表名语句是_____。
答案:show tables
24.删除表命令是:___________________________________________。
答案:drop table
25.select ‘Abc’=‘abc’;的结果为_____。
答案: 1
26.select -2.0*4.0;的结果为_____。
答案:-8.00
27.tinyint数据类型占用的字节数为___
答案:1
28.补全语句:select vend_id,count() from products where prod_price>=10 group by vend_id ____ count()>=2;
答案:having
29.计算字段的累加和的函数是:_______
答案:sum()
30.用SELECT进行模糊查询时,可以使用________匹配符
答案:like
三 编程题(5分一个,共10分)
1 现有一销售表,表名是sale,它的结构如下:
id int (标识号)
codno char(7) (商品编码)
codname varchar(30) (商品名称)
spec varchar(20) (商品规格)
price numeric(10,2) (价格)
sellnum int (销售数量)
deptno char(3) (售出分店编码)
selldate datetime (销售时间)
要求:写出查询销售时间段在2002-2-15日到2002-4-29之间,分店编码是01的所有记录。
答案:SELECT * FROM sale
WHERE (selldate >= '2002-2-15' AND selldate <='2002-4-29')
AND deptno = '01'
2 编写一个返回表products中prod_price字段平均值且名称为productpricing的存储过程
答案:CREATE PROCEDURE productpricing(out avg_price)
BEGIN
Select avg(prod_price)into avg_price from products;
End;
简答题 (1题5分,共10 分)
1 MySQL中varchar与char的区别以及varchar(50)中的50代表的涵义 ?
、varchar与char的区别
char是一种固定长度的类型,varchar则是一种可变长度的类型
(2)、varchar(50)中50的涵义
最多存放50个字符,varchar(50)和(200)存储hello所占空间一样,但后者在排序时会消耗更多内存,因为order by col采用fixed_length计算col长度(memory引擎也一样)
(3)、int(20)中20的涵义
是指显示字符的长度
但要加参数的,最大为255,比如它是记录行数的id,插入10笔资料,它就显示00000000001 ~~~00000000010,当字符的位数超过11,它也只显示11位,如果你没有加那个让它未满11位就前面加0的参数,它不会在前面加0
20表示最大显示宽度为20,但仍占4字节存储,存储范围不变
2 索引的定义和作用,以及优缺点和什么样的字段适合用索引?