数据库实验

【单选题】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) 关系;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值