MySQL数据库原理设计与应用习题及参考答案.docx
MySQL数据库原理设计与应用习题及参考答案
一、单选题(共30题,每题1分,共30分)
1.下面插入数据操作错误的是()。
A、INSERT数据表名VALUE(值列表)
B、INSERTINTO数据表名VALUES(值列表)
C、INSERT数据表名VALUES(值列表)
D、INSERT数据表名(值列表)
正确答案:D
2.以下()不能与回溯统计同时出现在同一查询语句中。
A、WHERE
B、LIMIT
C、ORDERBY
D、以上答案都不正确
正确答案:C
3.下面对TINYINT(3)描述正确的是()。
A、3用于设置TINYINT的取值范围
B、3用于设置取值范围所能表示的最大宽度
C、插入数据的位数超过3时会报错
D、以上答案都不正确
正确答案:B
答案解析:TINYINT(3)中括号内的数字表示的是取值范围所能表示的最大宽度,而不是设置取值范围。比如TINYINT(3)它能表示的范围依然是-128到127,但显示时如果数字不足3位会在左边补零来达到3位宽度的显示效果,插入数据时只要在其实际取值范围内,位数超过3位也不会报错。
4.下面关于SET和ENUM说法错误的是()。
A、只能插入规定的数据项
B、节省存储空间
C、查询速度比VARCHAR类型快
D、列表中不支持中文
正确答案:D
5.下面关于“CREATEVIEWv_goodsASSELECTid,nameFROMgoods”描述错误的是()。
A、创建v_goods的用户默认为当前用户
B、视图算法由MySQL自动选择
C、视图的安全控制默认为DEFINER
D、以上说法都不正确
正确答案:D
答案解析:逐一分析各选项:-选项A:创建视图的用户默认为当前用户,该说法正确。-选项B:视图算法如果未显式指定,MySQL会自动选择,该说法正确。-选项C:视图的安全控制默认为DEFINER,该说法正确。由于ABC选项说法均正确,所以选项D“以上说法都不正确”错误。
6.左外连接查询时,使用()设置主表和从表连接的条件。
A、WHERE
B、ON
C、USING
D、HAVING
正确答案:B
答案解析:左外连接查询时,使用ON关键字来设置主表和从表连接的条件。WHERE子句用于筛选结果集,但不是连接条件;USING用于连接条件中两表有相同列名的情况;HAVING用于对分组后的结果进行筛选。
7.下列选项中,适合创建索引的情况是()。
A、查询条件中较少使用的字段
B、更新频繁的字段
C、存储空间较小的字段
D、重复值高的字段
正确答案:C
答案解析:索引可以提高查询效率,对于查询条件中经常使用的字段创建索引效果较好,A选项错误;更新频繁的字段创建索引会增加维护成本,B选项错误;存储空间较小的字段创建索引相对开销较小,适合创建索引,C选项正确;重复值高的字段创建索引意义不大,D选项错误。
8.以下可以在项目开发中实现分页功能的是()。
A、WHERE
B、GROUPBY
C、LIMIT
D、以上答案都不正确
正确答案:C
答案解析:在SQL中,LIMIT用于实现分页功能。它可以指定要返回的行数范围。例如,LIMIT10OFFSET0表示从第0条记录开始,取10条记录,以此来实现分页。而WHERE主要用于条件过滤,GROUPBY用于分组,它们都不能直接实现分页功能。
9.下面关于“INSERT表1SELECTFROM表2”说法正确的是()。
A、可从表2中复制已有的数据到表1中
B、表1和表2不能是同一个数据表
C、表1和表2的表结构可以不同
D、以上说法全部正确
正确答案:A
答案解析:“INSERT表1SELECTFROM表2”语句的作用是将表2查询出来的数据插入到表1中,即可以从表2中复制已有的数据到表1中,A选项正确;表1和表2可以是同一个数据表,B选项错误;表1和表2的表结构必须相同,C选项错误;所以D选项也错误。
10.下面可以回收test用户的SELECT全局权限的是()。
A、REVOKESELECTONmydb.*FROMtest1@%;
B、REVOKESELECTON*.*FROMtest1@%;
C、REVOKESELECTONmydb.goodsFROMtest1@%;
D、以上答案都不正确
正确答案:B
11.下面关于JSON_OBJECTAGG()函数描述正确的是()。
A、用于将符合条件的参数字段值做为单个JSON数组返回
B、第1个参数表示“键”,第2个参数表示“键”对应的值
C、参数只能是表的字段
D、以上说法都不正确
正确答案:B
答案解析:JSON_OBJECTAGG()函数用