【单选题】tb_seller表结构如下,在该表上创建一个复合索引“idx_seller_name_sta_addr”,命令如下所示,下面哪条命令不使用索引( )。
create table `tb_seller` (
`sellerid` varchar (100),
`name` varchar (100),
`nickname` varchar (50),
`password` varchar (60),
`status` varchar (1),
`address` varchar (100),
`createtime` datetime,
primary key(`sellerid`)
)engine=innodb default charset=utf8mb4;
create index idx_seller_name_sta_addr on tb_seller(name,status,address);
- A.
select * from tb_seller where sellerid=1
- B.
select * from tb_seller where name='小米科技' and status='1'
- C.
select * from tb_seller where name='小米科技'
- D.
select * from tb_seller where name='小米科技' and status='1' and address='北京市'
我的答案: A:select * from tb_seller where sellerid=1 ;正确答案: A:select * from tb_seller where sellerid=1 ;
2分
答案解析:
sellerid上自动创建主键索引,复合索引按最左前缀法则决定是否采用索引,但是B中字符串不加单引号,造成索引失效。
2. (单选题, 2分)【单选题】唯一索引的作用是( )。
- A. 保证各行在该索引列上的值都不能重复
- B. 保证参加唯一索引的各列不能再参加其他索引
- C. 保证唯一索引不能被删除
- D. 保证各行在该索引列上的值都不为NULL
我的答案: A:保证各行在该索引列上的值都不能重复;正确答案: A:保证各行在该索引列上的值都不能重复;
2分
答案解析:
索引列的值必须唯一,但允许有空值
3. (单选题, 2分)【单选题】若MySql设置默认提交方式为手动提交,第一步用DELETE命令删除了表A中的数据(但并没有提交),
- A. 表A中的数据被彻底从数据库中删除
- B. 表A中的数据被移至一个临时的表中
- C. 表A中的数据被恢复回来
- D. 表A中的数据将处于一个不确定的状态
我的答案: C:表A中的数据被恢复回来;正确答案: C:表A中的数据被恢复回来;
2分
答案解析:
MySQL的DDL语句是非事务的,即不能对DLL语句进行回滚操作,但是create table失败,就不会自动提交,因此删除A表的数据被撤回了。
4. (单选题, 2分)【单选题】下列( )语句可以将事务的隔离级别设置为可重复读。
- A. SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
- B. T SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
- C. SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
- D. SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
我的答案: D:SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;;正确答案: D:SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;;
2分
答案解析:
5. (单选题, 2分)【单选题】对于5叉BTree,每个非叶子节点由n个key与n+1个指针组成,其中n的取值范围为:( )
- A. 3<=n
- B. 2<=n<=4
- C. 3<=n<=4
- D. 3<=n<=5
我的答案: B:2<=n<=4;正确答案: B:2<=n<=4;
2分
答案解析:
一颗m叉的BTree,每个非叶子节点由n个key与n+1个指针组成,其中[ceil(m/2)-1] <= n <= m-1
6. (单选题, 2分)【单选题】SQL语句中( )命令可以授予用户对象权限。
- A. DENY
- B. CREATE
- C. REVOKE
- D. GRANT
我的答案: D:GRANT;正确答案: D:GRANT;
2分
答案解析:
7. (单选题, 2分)【单选题】索引可以提高( )操作效率。
- A. delete
- B. select
- C. update
- D. insert
我的答案: B:select;正确答案: B:select;
2分
答案解析:
8. (单选题, 2分)
【单选题】在事务手动提交模式下,有如下2步操作,并且均成功执行,请选择结果( )
delete from emp;
rollback;
- A. emp表中的数据没有变化
- B. 原来的emp表中的数据被添加到新emp表中
- C. emp表中数据处于回滚段中
- D. emp表中的数据被永久删除
我的答案: A:emp表中的数据没有变化;正确答案: A:emp表中的数据没有变化;
2分
答案解析:
9. (单选题, 2分)【单选题】关于索引的说法,错误的是( )。
- A. 一个表可以创建多个不唯索引
- B. 创建索引有可能改变表记录的排列顺序
- C. 不可以按照某列的前n个字符创建索引
- D. 一个表可以创建多个唯-索引
我的答案: C:不可以按照某列的前n个字符创建索引;正确答案: C:不可以按照某列的前n个字符创建索引;
2分
答案解析:
要是聚簇索引,则会调整存储顺序。创建索引时,用列名(长度),可以按照某列的前n个字符创建索引
10. (单选题, 2分)【单选题】对于UPDATE、DELETE和INSERT语句,InnoDB会自动给涉及数据集加( )。
- A. 共享锁(S):
- B. 不会加任何锁
- C. 排他锁(X)
- D. 表级锁
我的答案: C:排他锁(X);正确答案: C:排他锁(X);
2分
答案解析:
11. (单选题, 2分)【单选题】下列哪类命令在未提交前可以通过ROLLBACK命令进行回退( )
- A. DQL
- B. DDL
- C. DCL
- D. DML
我的答案: D:DML;正确答案: D:DML;
2分
答案解析:
12. (单选题, 2分)【单选题】为数据表创建索引的目的是( )。
- A. 创建主键
- B. 提高查询的检索性能
- C. 创建唯一索引
- D. 归类
我的答案: B:提高查询的检索性能;正确答案: B:提高查询的检索性能;
2分
答案解析:
13. (单选题, 2分)【单选题】MyISAM、InnoDB、Memory三种存储引擎都支持的索引为:( )
- A. HASH 索引
- B. Full-text
- C. R-tree 索引
- D. BTREE索引
我的答案: D:BTREE索引;正确答案: D:BTREE索引;
2分
答案解析:
14. (单选题, 2分)【单选题】不能采用( )创建索引。
- A. ALTER INDEX
- B. ALTER TABLE
- C. CREATE INDEX
- D. CREATE TABLE
我的答案: A:ALTER INDEX;正确答案: A:ALTER INDEX;
2分
答案解析:
答案解析:1、使用CREATE INDEX创建,语法如下:CREATE INDEX indexName ON tableName (columnName(length));2、使用ALTER语句创建,语法如下:ALTER TABLE tableName ADD INDEX indexName(columnName);3、建表的时候创建索引:CREATE TABLE tableName( id INT NOT NULL, columnName columnType, INDEX [indexName] (columnName(length)) );
15. (单选题, 2分)【单选题】在Mysql中,事务中使用下列SQL语句不会引起锁定( )。
- A. DELETE
- B. UPDATE
- C. SELECT
- D. INSERT
我的答案: C:SELECT;正确答案: C:SELECT;
2分
答案解析:
16. (单选题, 2分)【单选题】若MySql设置默认提交方式为手动提交,第一步执行了DELETE命令,删除了某表中的一条记录.第二步执行了COMMIT命令. 又执行了ROLLBACK命令.请问以下叙述正确的是( )
- A. 被删除的记录又被恢复回来,仍然存放在数据库的表中
- B. 被删除的记录当前用户可以看到,而其它用户却看不到了
- C. 被删除的记录彻底从数据库中被删除掉了
- D. 被删除的记录只是当前用户看不到了,而其它用户还能看到
我的答案: C:被删除的记录彻底从数据库中被删除掉了;正确答案: C:被删除的记录彻底从数据库中被删除掉了;
2分
答案解析:
17. (单选题, 2分)【单选题】以下对于事务的叙述,比较全面的是( )
- A. 事务中的操作是一个整体,要成功都成功,要失败都失败
- B. 事务在提交之前,其它事务看不到它对数据库的影响
- C. 事务可以把所操作的数据库由一个状态转变到另一个状态
- D. 以上所述都是正确的
我的答案: D:以上所述都是正确的;正确答案: D:以上所述都是正确的;
2分
答案解析:
18. (单选题, 2分)【单选题】数据库的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable, 隔离级别为Repeatable read时,不能解决( )问题。
- A. 不可重复读
- B. 幻读
- C. 丢失更新
- D. 脏读
我的答案: B:幻读;正确答案: B:幻读;
2分
答案解析:
19. (单选题, 2分)【单选题】 MysQL 中常见的锁类型不包含( )。
- A. 意问锁
- B. 排他锁
- C. 架构锁
- D. 共享锁
我的答案: C:架构锁;正确答案: C:架构锁;
2分
答案解析:
20. (单选题, 2分)【单选题】关于数据控制语言中,收回所授予的权限的语句是( )。
- A. Create
- B. Revoke
- C. Grant
- D. Update
我的答案: B:Revoke;正确答案: B:Revoke;
2分
答案解析:
21. (单选题, 2分)【单选题】( )表示一个新的事务处理块的开始
- A. BEGIN COMMIT
- B. BEGIN TRANSACTION
- C. START COMMIT
- D. START TRANSACTION
我的答案: D:START TRANSACTION;正确答案: D:START TRANSACTION;
2分
答案解析:
22. (单选题, 2分)【单选题】MySQL中,预设的、拥有最高权限超级用户的用户名为( )
- A. Administrator
- B. root
- C. DA
- D. test
我的答案: B:root;正确答案: B:root;
2分
答案解析:
23. (单选题, 2分)【单选题】MySQL数据库四种特性,不包括( )。
- A. 原子性
- B. 事务性
- C. 一致性
- D. 隔离性
我的答案: B:事务性 ;正确答案: B:事务性 ;
2分
答案解析:
24. (单选题, 2分)【单选题】下面事务隔离级别中,隔离级别最低的是( )。
- A. Read committed
- B. Read uncommitted
- C. Serializable
- D. Repeatable read
我的答案: B:Read uncommitted;正确答案: B:Read uncommitted;
2分
答案解析:
25. (单选题, 2分)【单选题】在Mysql中,创建唯一索引的关键字是( )。
- A. create fulltest index
- B. create only index
- C. create index
- D. create unique index
我的答案: D:create unique index;正确答案: D:create unique index;
2分
答案解析:
26. (单选题, 2分)【单选题】如果要回滚一个事务,则要使用( )语句。
- A. rollback
- B. commit
- C. revoke
- D. begin
我的答案: A:rollback;正确答案: A:rollback;
2分
答案解析:
27. (单选题, 2分)【单选题】MySQL授予用户权限时,在“Grant”语句中,On子句使用( )表示所有数据库的所有数据表。
- A. *
- B. all
- C. *.*
- D. @@
我的答案: C:*.*;正确答案: C:*.*;
2分
答案解析:
28. (单选题, 2分)【单选题】下列关于读锁和写锁的区别描述正确的是( )。
- A. 两个读锁是兼容的
- B. 以上都正确
- C. 两个写锁也是不兼容的
- D. -个读锁和一个写锁是不兼容的
我的答案: B:以上都正确;正确答案: B:以上都正确;
2分
答案解析:
29. (单选题, 2分)【单选题】关于完整性与索引的关系,下列说法错误的是( )。
- A. 已经实现完整性可以解除完整性
- B. 没有索引不能实现完整性
- C. 索引就是为了实现完整性
- D. 没有实现完整性的表必须人为来达到完整性
我的答案: C:索引就是为了实现完整性;正确答案: C:索引就是为了实现完整性;
2分
答案解析:
30. (单选题, 2分)【单选题】5.1版本以后( )存储引擎是Mysql的默认存储引擎。
- A. MEMORY
- B. InnDB
- C. MERGE
- D. MyISAM
我的答案: B:InnDB;正确答案: B:InnDB;
2分
答案解析:
答案解析:索引列的值必须唯一,但允许有空值
31. (单选题, 2分)
【单选题】tb_seller表结构如下,在该表上创建一个复合索引“idx_seller_name_sta_addr”,命令如下所示,下面哪条命令不使用索引( )。
create table `tb_seller` (
`sellerid` varchar (100),
`name` varchar (100),
`nickname` varchar (50),
`password` varchar (60),
`status` varchar (1),
`address` varchar (100),
`createtime` datetime,
primary key(`sellerid`)
)engine=innodb default charset=utf8mb4;
create index idx_seller_name_sta_addr on tb_seller(name,status,address);
- A.
select * from tb_seller where name='小米科技'
- B.
select * from tb_seller where status='1'
- C.
select * from tb_seller where name='小米科技' and status='1'
- D.
select * from tb_seller where sellerid='1'
我的答案: B:select * from tb_seller where status='1' ;正确答案: B:select * from tb_seller where status='1' ;
2分
答案解析:
sellerid上自动创建主键索引,复合索引按最左前缀法则决定是否采用索引,d违反了最左前缀法则
32. (单选题, 2分)【单选题】数据库的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,Mysql 的数据库的默认隔离级别为( )。
- A. Read uncommitted
- B. Read committed
- C. Serializable
- D. Repeatable read
我的答案: D:Repeatable read;正确答案: D:Repeatable read;
2分
答案解析:
33. (单选题, 2分)【单选题】( )是用于控制数据访问的语言。
- A. DLL
- B. DDL
- C. DML
- D. DCL
我的答案: D:DCL;正确答案: D:DCL;
2分
答案解析:
34. (单选题, 2分)【单选题】数据库中存放三个关系:学生(学号,姓名)和课程(课程号,课程名)和成绩(学号、课程号、成绩),为快速按姓名查询某位学生所学的课程名,应该( )。
- A. 在学生表上按学号建索引
- B. 在学生表上按姓名建索引
- C. 在课程表上按课程号建索引
- D. 在成绩表上按课程号建索引
我的答案: B:在学生表上按姓名建索引;正确答案: B:在学生表上按姓名建索引;
2分
答案解析:
35. (单选题, 2分)【单选题】若MySql设置默认提交方式为手动提交,第一步用DELETE命令删除了表A中的数据(但并没有提交),第二步成功创建了一个表B,第三步执行了一个ROLLBACK回滚操作.请问以下叙述正确的是( )
- A. 表A中的数据被彻底从数据库中删除,但表B被从数据库中被删除,恢复为未建表之前的状态
- B. 表A中的数据没有被恢复回来,表B被创建在数据库中.
- C. 表A中的数据被恢复回来,创建的表B被从数据库中被删除,恢复为未建表之前的状态
- D. 表A中的数据被彻底从数据库中删除,表B被创建在数据库中.
我的答案: B:表A中的数据没有被恢复回来,表B被创建在数据库中.;正确答案: B:表A中的数据没有被恢复回来,表B被创建在数据库中.;
2分
答案解析:
MySQL的DDL语句是非事务的,即不能对DLL语句进行回滚操作,也就是create table后会自动提交,删除A表的数据也被提交了。应当将DDL和DML语句以及DCL语句严格分开,避免事务被隐性“破坏”,导致误操作情况发生
二. 填空题(共15题,30分)
36. (填空题, 2分)[填空题]在 MySQL中,要对查询结果进行排序使用关键字________。
我的答案:
2分
(1) order by
正确答案:
(1) order by;
答案解析:无
37. (填空题, 2分)[填空题]MySQL 中用于实现事务提交的语句是_______语句。
我的答案:
2分
(1) commit
正确答案:
(1) commit;
答案解析:无
38. (填空题, 2分)[填空题]MySQL 支持关系模型中实体完整性、_______和用户定义的完整性。三种不同的完整性约束。
我的答案:
2分
(1) 参照完整性
正确答案:
(1) 参照完整性;
答案解析:无
39. (填空题, 2分)[填空题]在 MySQL 中,创建视图需要使用create _______语句。
我的答案:
2分
(1) view
正确答案:
(1) view;
答案解析:无
40. (填空题, 2分)[填空题]在 MySQL中,去除重复字段使用关键字________。
我的答案:
2分
(1) distinct
正确答案:
(1) distinct;
答案解析:无
41. (填空题, 2分)[填空题]在 MySQL 中,用于设置 MySQL 结束符的关键字是_______。
我的答案:
2分
(1) delimiter
正确答案:
(1) delimiter;
答案解析:无
42. (填空题, 2分)【填写题】事务具有____,隔离性和可靠性。
我的答案:
2分
(1) 原子性
正确答案:
(1) 原子性
43. (填空题, 2分)[填空题]_______型数据用于存储逻辑值,它只有两种状态,即true和false。
我的答案:
2分
(1) bool
正确答案:
(1) bool;布尔;bit;
答案解析:
无
44. (填空题, 2分)[填空题]在 MySQL 的整数类型中,占用字节数最大的类型是________。
我的答案:
2分
(1) bigint
正确答案:
(1) bigint;
答案解析:无
45. (填空题, 2分)[填空题]在 MySQL中,要对查询结果进行分页使用关键字________。
我的答案:
2分
(1) limit
正确答案:
(1) limit;
答案解析:无
46. (填空题, 2分)[填空题]MySQL 中提供了_______关键字,该关键字可以判断两个字符串是否相匹配,通常用它来实现模糊查询。
我的答案:
2分
(1) like
正确答案:
(1) like;
答案解析:无
47. (填空题, 2分)【填写题】事务处理控制语言中的Commit命令表示提交事务,而回退事务则用____命令表示。
我的答案:
2分
(1) ROLLBACK
正确答案:
(1) ROLLBACK
48. (填空题, 2分)[填空题]如果在一个连接查询中,涉及到的两个表是同一个表,这种查询称为_______。
我的答案:
2分
(1) 自连接
正确答案:
(1) 自连接;自连接查询
答案解析:
无
49. (填空题, 2分)[填空题]MySQL 中的用户分为_______用户和普通用户。
我的答案:
2分
(1) root
正确答案:
(1) root;
答案解析:无
50. (填空题, 2分)[填空题]用二维表结构表示实体以及实体间联系的数据模型称为________数据模型。
我的答案:
2分
(1) 关系
正确答案:
(1) 关系;