admin 管理员组

文章数量: 887021


2023年12月19日发(作者:ignore small details while)

MySQL专项测试题附答案

一、单项选择题(本部分共15题,每题2分,共30分。在每题给出选项中,只有一项符合题目要求,答对得分,答错或不答不得分。)

1.下列说法中,不正确的是( )。

A. 数据库减少了数据冗余

B. 数据库中的数据可以共享

C. 数据库避免了一切数据的重复

D. 数据库具有较高的数据独立性

语言的数据操纵语句包括 SELECT, INSERT, UPDATE 和 DELETE,重要的,也是使用最频繁的语句是( )。

A. SELECT

B. INSERT

C. UPDATE

D. DELETE

3. 数据库系统的核心是( )。

A.数据模型

B.数据库管理系统

C.数据库

D.数据库管理员

4. 在 MySQL 中,下列关于创建数据库表的描述正确的是( )。

A. 在创建表时必须设定列的约束

B. 在删除表的时候通过外键约束连接在一起的表会被一同删除

C. 在创建表时必须设置列类型

D. 通过 CREATE TABLE new_t SELECT FROM old_t 复制表时,表的约束能够一起被复制到新表中

5. 有一个关系:学生(学号,姓名,系别),规定学号的值域是 8 个数字组成的字符串,这一规则属于( )

A. 实体完整性约束

B. 参照完整性约束

C. 用户自定义完整性约束

D. 关键字完整性约束

6. 如果一个字段的数据必须来源另一个表的主键,那么要在这个字段上建立( )。

A. PK(主键)

B. FK(外键)

C. UK(唯一键)

D.复合主键

7. 下列描述正确的是( )。

A.一个数据库只能包含一个数据表

B.一个数据库可以包含多个数据表

C.一个数据库只能包含两个数据表

D.一个数据表可以包含多个数据库

8. SQL 中,下列操作有语法错误的是( )。

A. AGE IS NOT NULL

B. NOT(AGE IS NULL)

C. SNAME=‘王五’

D. SNAME=‘王%’

9. SQL 中,“AGE IN(20, 22)”的语义是( )。

A. AGE<=22 AND AGE >=20

B. AGE <22 AND AGE >20

C. AGE =20 AND AGE =22

D. AGE =20 OR AGE =22

10. 下面 SQL 是来源于考试成绩表 t_exam:学号 stuId、科目编号 subId、成绩 score,考试日期:ex_date。有以下 sql,它表示的意思是:( )。Select stu_id,subId,count( ) as x

From t_exam Where ex_date=’2008-08-08’ Group stu_id,subId Having count( )>1 Order

by x desc

A. 找出’ 2008-08-08’这天某科考试 2 次及以上的学生记录

B. 找出’ 2008-08-08’这天,某科考试 2 次及以上的学生记录,考试次数多的放在前面

C. 找出’ 2008-08-08’这天,某科考试 2 次及以上的学生记录,考试次数少的放在前面

D. 根据学号和学科分组,找出每个人考试科数,最后考试次数多的放在前面

11. 在 SQL 语言中,条件“BETWEEN 20 AND 30”表示年龄在 20 到 30 之间,且( )。

A. 包括 20 岁和 30 岁

B. 不包括 20 岁和 30 岁

C. 包括 20 岁,不包括 30 岁

D. 不包括 20 岁,包括 30 岁

12. 下面可以通过聚合函数的结果来过滤查询结果集的 SQL 子句是( )。

A. WHERE 子句

B. GROUP BY 子句

C. HAVING 子句

D. ORDER BY 子句

13.update student set s_name = ’王军’ where s_id =1 该代码执行的是哪项操作?( )。

A.添加姓名叫王军的记录

B.删除姓名叫王军的记录

C.返回姓名叫王军的记录

D.更新姓名叫王军的记录

14. 在 MySQL 中,通常使用( )语句来指定一个已有数据库作为当前工作数据库。

A.USING

B.USED

C.USES

D.USE

15. 在 SQL 语句中,与表达式"仓库号 NOT IN( "wh1","wh2") "功能相同的表达式是( )。

A.仓库号="wh1" AND 仓库号="wh2"

B.仓库号!="wh1" OR 仓库号! = "wh2"

C.仓库号="wh1" OR 仓库号="wh2"

D.仓库号!="wh1" AND 仓库号!="wh2"

MySQL自测练习2

一、单项选择题(本部分共15题,每题2分,共30分。在每题给出选项中,只有一项符合题目要求,答对得分,答错或不答不得分。)

1. 下列描述错误的是( )。

A.在Windows系统中,可以创建一个名称为tb_bookInfo的数据库和一个名称为tb_bookinfo的数据库。

B.MySQL数据库名可以由任意字母、阿拉伯数字、下划线(_)和“$”组成。

C.MySQL数据库名最长可为64个字符。

D.不能使用MySQL关键字作为数据库名、表名。

2. 下列关于修改数据库描述错误的是( )。

A.使用ALTER DATABASE语句可以修改数据库名。

B.使用ALTER DATABASE的CHARACTER SET选项可以修改数据的字符集。

C.使用ALTER DATABASE的COLLATE选项可以指定字符集的校对规则。

D.使用ALTER DATABASE语句时可以不指定数据库名称。

3. 在MySQL中,可以使用( )语句查询MySQL中支持的存储引擎。

A.SHOW DATABASE;

B.SHOW DATABASES;

C.SHOW ENGINES;

D.SHOW VARIABLES;

4. UNIQUE唯一索引的作用是( )。

A.保证各行在该索引上的值不能为NULL

B.保证各行在该索引上的值都不能重复

C.保证唯一索引不能被删除

D.保证参加唯一索引的各列,不能再参加其他的索引

5. 创建数据表时,使用( )语句。

A.ALTER TABLE

B.CREATE DATABASE

C.CREATE TABLE

D.ALERT DATABASE

6. 要修改数据表tb_student的存储引擎为InnoDB,可以使用下面的( )语句。

A.ALTER TABLE tb_student DEFAULT CHARSET=InnoDB;

B.ALTER TABLE tb_student AUTO_INCREMENT=InnoDB;

C.ALTER TABLE tb_student ENGINE=InnoDB;

D.Alter TABLE tb_student ADD CONSTRAINT mrprimary PRIMARY KEY (id);

7. 想要删除数据库中已经存在的数据表,可以使用( )语句。

A.CREATE TABLE

B.DROP DATABASE

C.ALERT TABLE

D.DROP TABLE

8. 在MySQL中,非空约束可以通过( )关键字定义。

A.NOT NULL

B.DEFAULT

C.CHECK

D.UNIQUE

9. 在MySQL中,可以使用INSERT或( )语句实现向数据表中插入记录。

A.INTO

B.REPLACE

C.UPDATE

D.SAVE

10. 修改表记录需要使用( )语句。

A.INSERT

B.UPDATE

C.REPLACE

D.DELETE

11. 下面的代码用于执行( )操作。update tb_student SET name = ’明日’ WHERE id

=1;

A.添加名字为明日的记录

B.查询名字为明日的记录

C.更新id号为1的记录,并将name设置为‘明日’

D.删除名字为明日的记录

12. 在UPDATE语句中,使用WHERE子句的作用是( )。

A.指定修改后的值

B.指定要修改哪些字段

C.指定是否修改

D.指定可以被修改的前提条件

13. 下列( )条语句是错误的。

A.TRUNCATE TABLE tb_user;

B.DELETE FROM tb_user;

C.UPDATE FROM tb_user SET username='mr' WHERE id=2;

D.UPDATE tb_user SET username='mr' WHERE id=2;

14. 下列关于DELETE语句和TRUNCATE TABLE语句的区别( )描述是错误的。

A.使用TRUNCATE TABLE语句后,表中的AUTO_INCREMENT计数器将被重新设置为该列的初始值。

B.对于参与了索引和视图的表,不能使用TRUNCATE TABLE语句来删除数据。

C.DELETE语句每删除一行,都会在事务日志中添加一行记录。

D.使用TRUNCATE TABLE语句删除数据表中的所有数据后,也可以恢复。

15. 下列( )可以实现从数据表tb_book中查询publishid和typeid字段的值,插入到数据表tb_book2中。

A.INSERT INTO tb_book2(publishid,typeid) SELECT publishid, typeid FROM

tb_book;

B.INSERT FROM tb_book2(publishid,typeid) SELECT publishid, typeid FROM

tb_book;

C.INSERT INTO FROM tb_book2(publishid,typeid) SELECT publishid, typeid

FROM tb_book;

D.INSERT INTO tb_book(publishid,typeid) SELECT publishid, typeid FROM

tb_book2;

MySQL自测3

一、单项选择题(本部分共15题,每题2分,共30分。在每题给出选项中,只有一项符合题目要求,答对得分,答错或不答不得分。)

1. 在MySQL中,通常使用( )语句来进行数据的检索和输出操作。

A.SELECT

B.INSERT

C.UPDATE

D.DELETE。

2.SELECT FROM tb_student 该代码中的号,表示的正确含义是( )。

A.普通的字符

B.错误的符号

C.模糊查询

D.所有的列

3.在SELECT语句中WHERE子句表示( )。

A.指定查询条件

B.逻辑运算

C.在哪里

D.模糊查询

4.关于SELECT FROM tb_book LIMIT 5,10描述正确的是( )。

A.获取第6条到第10条记录

B.获取第5条到第10条记录

C.获取第6条到第15条记录

D.获取第5条到第15条记录

5.在SELECT语句中,可以使用( )子句,将结果集中的数据行根据选择列的值进行逻辑分组,以便能汇总表内容的子集,即实现对每个组的聚集计算。

A.ORDER BY

B.GROUP BY

C.WHERE

D.IN

6.有订单表tb_order,包含用户信息userid, 商品信息goodsid, 以下( )语句能够返回至少被购买两次的商品id。

A.SELECT goodsid FROM tb_order WHERE COUNT(goodsid)>1

B.SELECT goodsid FROM tb_order WHERE MAX(goodsid)>1

C.SELECT goodsid FROM tb_order GROUP BY goodsid HAVING

COUNT(goodsid)>1

D.SELECT goodsid FROM tb_order WHERE HAVING COUNT(goodsid)>1 GROUP

BY goodsid

7.下列( )函数可以求出表中某个数值类型字段取值的平均值。

A.SUM( )

B.MAX( )

C.COUNT( )

D.AVG( )

8.在子查询中,( )关键字表示满足其中任意一个条件。

A.IN

B.ANY

C.ALL

D.EXISTS

9.将多个结果集合并到一起,并且去除相同记录使用下列( )关键字。

A.UNION ALL

B.LEFT JOIN

C.UNION

D.LEFT JOIN

10.通过“[mrs]”可以查询( )。

A.包含m、r、s中的任意一个的记录

B.包含m、r和s的记录

C.包含mrs的记录

D.以上都不对

11. t_score(stu_id,sub_id,score),即成绩表(学号,科目编号,成绩)。学生如果某科没有考试,则该科成绩录入 null。能够获取各位学生的平均成绩的选项是( )

A. select avg(nvl(socre,0)) from score group by stu_id

B. select stu_id,avg(sorce) from score

C. select stu_id,avg(score) from score

D. select stu_id,sum(score)/count(score) from score

12. 对下面的查询语句描述正确的是( )Select StudentID,Name,(select count( ) from

StudentExam where tID = tID) as ExamsTaken from

Student order by ExamsTaken desc;

A. 从 Student 表中查找 StudentID 和 Name,并按照升序排列

B. 从 Student 表中查找 StudentID 和 Name,并按照降序排列

C. 从 Student 表中查找 StudentID、 Name 和考试次数

D. 从 Student 表中查找 StudentID、 Name,并从 StudentExam 表中查找与

StudentID 一致的学生考试次数,并按照降序排列

13. 查询 tb001数据表中的前 5 条记录,并升序排列,语法格式是什么? ( )

from tb001 where order by id ASC limit 0,5;

from tb001 where order by id DESC limit 0,5;

from tb001 where order by id group by limit 0,5;

from tb001 where order by id order limit 0,5;

14. 修改记录的语法格式是什么? ( )

A. update 数据表名 set column_name = new_valuel,column_name2 = new_value2,…

Where condition

B. select 数据表名 set column_name = new_valuel,column_name2 = new_value2,…

Where condition

C. update from 数表名 set column_name = new_valuel,column_name2 = new_value2,…

Where condition

D. update where 数据表名 set column_name = new_valuel,column_name2 =

new_value2,… Where condition

15. 删除记录的语法格式是什么? ( )

A. update from 数据表名 where condition

B. delete from 数据表名 where condition

C. insert from 数据表名 where condition

D. delete into 数据表名 where condition

MySQL自测练习4

一、单项选择题(本部分共15题,每题2分,共30分。在每题给出选项中,只有一项符合题目要求,答对得分,答错或不答不得分。)

1. 下列( )语句可以实现创建视图操作。

A.SHOW VIEW

B.CREATE VIEW

C.DROP VIEW

D.DISPLAY VIEW

2.在视图上不能完成的操作是( )。

A.查询

B.在视图上定义新的视图

C.在视图上定义新的表

D.更新视图

3.( )命令可以查看视图创建语句。

A.SHOW VIEW

B.SHOW CREATE VIEW

C.SELECT VIEW

D.DISPLAY VIEW

4.查看创建视图的权限时,( )描述是错误的。

A.Selete_priv属性表示用户是否具有SELECT权限。

B.Create_view_priv属性表示用户是否具有CREATE VIEW权限。

C.Selete_priv属性值为Y表示拥有SELECT权限。

D.Create_view_priv属性值为Y表示拥有SELECT权限。

5.下列关于视图和表的说法正确的是( )。

A.每个视图对应一个表。

B.视图是表的一个镜像备份。

C.对所有视图都可以像表一样执行UPDATE操作。

D.视图的数据全部在表中。

6.下列关于视图的描述错误的是( )。

A.视图是由SELECT子查询语句定义的一个逻辑表。

B.视图中保存有数据。

C.通过视图操作的数据仍然保存在表中。

D.可以通过视图操作数据库中的数据。

7.下面( )语句不能查看视图。

A.DESCRIBE

B.SHOW TABLE STATUS

C.SHOW VIEW

D.SHOW CREATE VIEW

8.下列代码为创建图书视图的代码,请选择所缺少的部分代码。( )( )v_book

(barcode,bookname,author,price,booktype)(_______________)

barcode,bookname,author,price,typename FROM tb_bookinfo AS b ,tb_booktype AS t

WHERE =;

A.CREATE VIEW、AS SELECT

B.CREATE VIEW、SELECT

C.CREATE TABLE、AS SELECT

D.CREATE TABLE、SELECT

9.下列创建视图时需要注意的事项中,错误的是( )。

A.SELECT语句不能包含FROM子句中的子查询。

B.在存储子程序内,定义不能引用子程序参数或局部变量。

C.在视图定义中命名的表必须已存在。

D.在视图定义中不允许使用ORDER BY。

10.在MySQL中,删除视图使用( )命令。

A.DELETE

B.REMOVE

C.DROP

D.CLEAR

11. 下列不是应用索引的优点是 ( )。

A. 提高表的查询效率

B. 提高数据表性能

C. 提高数据表读写速度

D. 优化查询速度

12. 在MySQL中,在建立表名为tablel的新表时创建名称为index one的普通索索引,其语法结构是( )。

table tablel(id int(ll) ,name varchar(50) not null, unique index(id);

table tablel(id int(ll) ,name varchar(50) not null, index(id);

C. create table tablel(id int(ll) ,name varchar(50) not null, fulltext index(id);

table tablel(id int(ll) ,name varchar(50) not null, spatial index(id);

13. 下列哪类数据库表不适合创建索引?( )

A. 经常被查询搜索的列,如经常在where子句中出现的列。

B. 是外键或主键的列。

C.包含太多重复选用值得列。

D.在order by子句中使用的列。

14. 删除索引的SQL语句是( )。

A.CREATE INDEX

B. DROP INDEX

C. sp_helpindex

D. UPDATE INDEX

15. 下列关于视图和索引说法正确的是( )。

A.视图是观察数据的一种方法,只能基于基本表建立。

B.视图是虚表,观察到的数据是实际基本表中的数据。

C.建立索引后,可以大幅提高对表的所有操作的速度。

D.对数据表操作时,使用聚集索引比非聚集索引速度快。

MySQL自测5

一、单项选择题(本部分共15题,每题2分,共30分。在每题给出选项中,只有一项符合题目要求,答对得分,答错或不答不得分。)

1. 设有如下语句

CREATE USER newuser;

执行该语句后,如下叙述中正确的是(A )。

A.未授权之前,newuser没有访问数据库的权限。

B.语句有错,没有指定用户口令。

C.语句有错,没有指定主机名。

D.newuser用户能执行USE命令,打开指定的用户数据库。

2. 用户刚创建后,只能登录MySQL服务器,而无法执行任何数据库操作的原因是( )。

A.用户还需要修改密码。

B.用户尚未激活。

C.用户还没有任何数据库对象的操作权限。

D.以上皆有可能。

3. 把对student表和course表的全部操作权授予用户user1和user2的语句是( )。

A.GRANT all on stuent,course to user1,user2;

B.GRANT student,course on A to user1,user2;

C.GRANT all to student,course on user1,user2;

D.GRANT all to user1,user2 on student,course;

4. 新创建一个用户账户,还未授权,则该用户可执行的操作时( )。

A.登录MySQL服务器

B.SELECT

C.INSERT

D.UPDATE

5. 要收回系统中已存在用户xiaoming在表tb_course上的SELECT权限,以下正确的SQL语句是( )。

A.REVOKE SELECT ON tb_course FROM xiaoming@localhost;

B.REVOKE SELECT ON xiaoming FROM tb_course;

C.REVOKE xiaoming ON SELECT FROM tb_course;

D.REVOKE xiaoming@localhost ON SELECT FROM tb_course;

6. 下面选项中,( )不是数据库事务必须具备的特征。

A.原子性

B.一致性

C.孤立性

D.适时性

7. 一个事务的执行,要么全部完成,要么全部不做,一个事务中对数据库的所有操作都是一个不可分割的操作序列的属性是( )。

A.原子性

B.一致性

C.隔离性

D.持久性

8. 事务的持久性是指( )。

A.事务中包括的所有操作要么都做,要么都不做。

B.事务一旦提交,对数据库的改变是永久的。

C.一个事务内部的操作对并发的其他事务是隔离的。

D.事务必须是使数据库从一个一致性状态改变另一个一致性状态。

9. SQL语言中用( )语句实现事务的回滚。

A.CREATE TABLE

B.ROLLBACK

C.GRANT和REVOKE

D.COMMIT

10. 如果事务T获得了数据项Q上的排他锁,则T对Q( )。

A.只能读不能写

B.只能写不能读

C.既可读又可写

D.不能读也不能写

11. 设事务T1和T2,对数据库中的数据A进行操作,可能有如下几种情况,请问哪种不会发生冲突操作?( )。

A.T1正在写A,T2要读A

B.T1正在写A,T2也要写A

C.T1正在读A,T2要写A

D.T1正在读A,T2也要读A

12. 在数据库系统中,死锁属于( )。

A.系统故障

B.事务故障

C.介质故障

D.程序故障

13. MySQL日志文件的类型包括:错误日志、查询日志、更新日志、二进制日志和( )。

A.慢日志

B.索引日志

C.权限日志

D.文本日志

14. 事务的开始和结束命令分别是( )。

A.START TRANSACTION、ROLLBACK

B.START TRANSACTION、COMMIT

C.START TRANSACTION、ROLLBACK或者COMMIT

D.START TRANSACTION、BREAK

15. 导出数据库正确的方法是( )。

A.MySQLdump 数据库名 > 文件名。

B.MySQLdump 数据库名 >> 文件名。

C.MySQLdump 数据库名文件名。

D.MySQLdump 数据库名=文件名。

MySQL自测6

一、单项选择题(本部分共15题,每题2分,共30分。在每题给出选项中,只有一项符合题目要求,答对得分,答错或不答不得分。)

1.MySQL中存储过程的建立以关键字( )开始,后面仅跟存储过程的名称和参数。

A.CREATE FUNCTION

B.CREATE TRIGGER

C.CREATE PROCEDURE

D.CREATE VIEW

2.下列关于存储过程名描述错误的是( )。

A.MySQL的存储过程名称不区分大小写。

B.MySQL的存储过程名称区分大小写。

C.存储过程名不能与MySQL数据库中的内置函数重名。

D.存储过程的参数名不要跟字段名一样。

3.下面声明变量正确的是( )。

A.DECLARE x char(10) DEFAULT 'outer '

B.DECLARE x char DEFAULT 'outer '

C.DECLARE x char(10) DEFAULT outer

D.DECLARE x DEFAULT 'outer '

4.从tb_sutdent表中将名称为mrsoft的用户赋值给host,以下SQL语句正确的是( )。

A.SELECT host INTO name FROM tb_sutdent WHERE name ='mrsoft';

B.SELECT name INTO host FROM tb_sutdent WHERE name= 'LeonSK ';

C.SELECT name INTO host FROM tb_sutdent WHERE name='mrsoft';

D.SELECT name INTO host FROM tb_sutdent WHERE name=‘mrsoft’;

5.光标的一般使用步骤,以下正确的是( )。

A.声明光标 使用光标 打开光标 关闭光标

B.打开光标 声明光标 使用光标 关闭光标

C.声明光标 打开光标 选择光标 关闭光标

D.声明光标 打开光标 使用光标 关闭光标

6.下列控制流程语句中,MySQL存储过程不支持( )。

A.WHILE

B.FOR

C.LOOP

D.REPEAT

7.下列关于存储过程和存储函数描述错误的是( )。

A.存储过程可以使用SELECT语句返回结果集,但是存储函数则不能使用SELECT语句返回结果集。

B.查看存储过程和函数的状态都可以使用SHOW STATUS语句。

C.存储过程和存储函数可以实现相同的功能。

D.存储过程和存储函数都可以是一组SQL语句的组合。

8.调用存储函数使用( )关键字。

A.CALL

B.LOAD

C.CREATE

D.SELECT

9.在MySQL中,可以通过( )语句来查看存储过程和函数的定义。

A.SHOW CREATE

B.SHOW STATUS

C.SHOW PROCEDURE

D.SHOW FUNCTION

10.下列( )是删除存储过程的关键字。

A.CREATE

B.DROP

C.ALERT

D.DELETE

11.在创建触发器时,不能使用( )触发事件。

A.INSERT

B.CREATE

C.UPDATE

D.DELETE

12.可以使用( )语句创建触发器。

A.CREATE TABLE

B.CREATE PROCEDURE

C.CREATE INDEX

D.CREATE TRIGGER

13.下面的代码用于创建一个在删除数据前触发的触发器,横线上所缺代码为( )。DELIMITER CREATE DEFINER=`root`@`localhost` TRIGGER ( )ON

tb_bookinfo FOR EACH ROWINSERT INTO tb_booklog (event,logtime) values('删除了一条图书信息',now( ));

A.BEFORE DELETE

B.AFTER DELETE

C.BEFORE INSERT

D.AFTER INSERT

14.执行下列( )语句,不能查看触发器的信息。

A.SELECT FROM triggers;

B.SHOW TRIGGERS;

C.SHOW TRIGGERSG

D.SELECT FROM information_rs;

15.下列关于触发器的执行顺序错误的描述是( )。

A.BEFORE触发器比表操作先执行

B.BEFORE触发器比AFTER触发器先执行

C.AFTER触发器比表操作先执行

D.AFTER触发器比表操作后执行

16.下列( )是删除触发器的关键字。

A.CREATE

B.DROP

C.ALERT

D.DELETE


本文标签: 数据库 语句 数据 视图