《MySQL数据库开发》期末复习试题1.docx
- 文档编号:30586224
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:21
- 大小:26.31KB
《MySQL数据库开发》期末复习试题1.docx
《《MySQL数据库开发》期末复习试题1.docx》由会员分享,可在线阅读,更多相关《《MySQL数据库开发》期末复习试题1.docx(21页珍藏版)》请在冰豆网上搜索。
《MySQL数据库开发》期末复习试题1
《MySQL数据库开发》期末复习题
考试题型
一、单选题(每小题2分,共40分)
二、判断题(每小题1分,打”√”或”×”,共10分)
三、问答题(共15分,每小题5分)
四、综合题(共35分,每小题5分)
一、填空
1、用来表示数据库中行之间的关系的机制称为______外键_约束。
2、_____字符集___是一套符号与编码,它包括编码规则以定义字符如何被编码为数字。
3、MySQL程序选项有两种通用形式:
_______长选项__和__短选项_________。
4、MySQL数据类型分为四大主要类别:
______数值___、__字符______、__二进制_______、_____时间____。
5、_____存储程序_____是保存在服务器里的一组SQL语句的集合。
6、_____锁_是一种用来防止多个客户端时访问数据而产生问题的机制。
7、_____事务_是将一个数据处理执行步骤的集合作为一个单一单元来处理。
8、______innoDB____引擎是目前唯一可提供外键实现支持的引擎。
9、CREATE___temporary__________TABLE创建临时表。
10、_______union_关键字能够将两个或多个SELECT语句的结果连接起来。
选择题主要在认证复习题中。
二、选择(单选)
每小题2分,共40分
1、哪个连接语句的格式是错误的(D)
(A)mysql--host=(B)mysql–h
(C)mysql–(D)mysql–H
2、查看MySQL版本语句是(A)
(A)mysql--version(B)mysql--VERSION
(C)mysql--help(D)mysql--v
3、设置语句结束符的命令是(C)
(A)set(B)end(C)delimiter(D)finish
4、设置MySQL提示符的命令是(B)
(A)tip(B)prompt(C)popup(D)message
5、导入sql脚本文件的命令是(A)
(A)source(B)script(C)file(D)sql
6、关于SELECT语句以下哪一个描述是错误的(C)
(A)SELECT语句用于查询一个表或多个表的数据。
(B)SELECT语句属于数据操作语言(DML)。
(C)SELECT语句的列必需是基于表的列的。
(D)SELECT语句表示数据库中一组特定的数据记录。
7、ENUM类型的字段level定义为(LOW、MIDDLE、HIGH),ORDERBYlevelasc的顺序是(B)
(A)HIGH、LOW、MIDDLE(B)LOW、MIDDLE、HIGH
(C)MIDDLE、LOW、HIGH(D)HIGH、MIDDLE、LOW
8、SELECT*FROMcitylimit5,10描述正确的是(C)
(A)获取第6条到第10条记录。
(B)获取第5条到第10条记录。
(C)获取第6条到第15条记录。
(D)获取第5条到第15条记录。
9、GROUP_CONCAT()函数作用是(A)
(A)将每组的结果字符串连接起来(B)将每组的结果累加
(C)统计每组的记录数(D)统计每组的平均值
10、GROUP子句带WITHROLLUP的作用是(D)
(A)将每组的结果累加(B)统计每组的平均值
(C)统计每组的记录数(D)产生多个级别的统计值
11、查看全局SQL模式的命令是(C)
(A)select@@sql_mode(B)select@@session.sql_mode
(C)select@@global.sql_mode(D)selectglobal.sql_mode
12、关于在非严格模式下处理无效值,哪个是错误的(D)
(A)基于列定义的限制隐含值来执行类型转化。
(B)在可能的情况下调整无效的输入值为合法值,并产生警告信息。
(C)转换超出范围的值为范围内的值。
(D)拒绝无效值,产生错误。
13、关于在严格模式下处理无效值,哪个是错误的(A)
(A)允许超出范围的值
(B)拒绝超出范围的值。
(C)拒绝不正确数据类型的值。
(D)拒绝没有缺省值的非空列。
14、VARCHAR类型字段保存最大的字符数是(C)
(A)255(B)1025(C)65533(D)65535
15、查看系统中可用的字符集命令是(A)
(A)showcharacterset(B)showcollation
(C)showcharacter(D)showset
16、关于DATETIME与TIMESTAMP两种数据类型的描述,错误的是(B)
(A)两者值的范围不一样。
(B)两者值的范围一样。
(C)两者占用空间不一样。
(D)TIMESTAMP可以自动记录当前日期时间。
17、在非严格模式下保存250到TINYINT类型字段时实际保存值是(C)
(A)250(B)0(C)127(D)128
18、SELECTGREATEST(‘ab’,’cd’,’ef’,’gh’)结果是(D)
(A)ab(B)cd(C)ef(D)gh
19、SELECTLEAST(‘ab’,’cd’,’ef’,’gh’)结果是(A)
(A)ab(B)cd(C)ef(D)gh
20、SELECTFLOOR(-14.7),FLOOR(14.7)的结果是(A)
(A)-15,14(B)-15,15(C)-14,14(D)-14,15
21、SELECTCEILING(-14.7),CEILING(14.7)的结果是(D)
(A)-15,14(B)-15,15(C)-14,14(D)-14,15
22、SELECTLOCATE(‘to’,‘WelcometoChina’)的结果是(C)
(A)7(B)8(C)9(D)10
23、SELECTSUBSTRING(‘WelcometoChina’,9,2)的结果是(B)
(A)Welcome(B)to(C)China(D)Welcometo
24、SELECTSUBSTRING_INDEX(‘WelcometoChina’,‘to’,-1)的结果是(C)
(A)Welcome(B)to(C)China(D)Welcometo
25、SELECTCONCAT_WS(‘/’,‘A’,NULL,‘B’,NULL)的结果是(C)
(A)AB(B)NULL(C)A/B(D)A//B/
26、删除列指令是(D)
(A)ALTERTABLE…DELETE…(B)ALTERTABLE…DELETECOLUMN…
(C)ALTERTABLE…DROP…(D)ALTERTABLE…DROPCOLUMN…
27、修改列指令是(A)
(A)ALTERTABLE…MODIFY…(B)ALTERTABLE…MODIFYCOLUMN…
(C)ALTERTABLE…UPDATE…(D)ALTERTABLE…UPDATECOLUMN…
28、以下哪一种指令无法增加记录(D)
(A)INSERTINTO…VALUES…(B)INSERTINTO…SELECT…
(C)INSERTINTO…SET…(D)INSERTINTO…UPDATE…
29、对于REPLACE语句描述错误的是(C)
(A)REPLACE语句返回一个数字以表示受影响的行,包含删除行和插入行的总和。
(B)通过返回值可以判断是否增加了新行还是替换了原有行。
(C)因主键重复插入失败时直接更新原有行。
(D)因主键重复插入失败时先删除原有行再插入新行。
30、关于DELETE和TRUNCATETABLE区别描述错误的是(B)
(A)DELETE可以删除特定范围的数据。
(B)两者执行效率一样。
(C)DELETE返回被删除的记录行数。
(D)TRUNCATETABLE返回值为0。
31、查看是否启用自动提交的指令是(B)
(A)SELECT@@auto(B)SELECT@@autocommit
(C)SELECT@@commit(D)SELECT@@auto_commit
32、查看当前隔离级别的指令是(A)
(A)SELECT@@tx_isolation(B)SELECT@@transaction
(C)SELECT@@isolation(D)SELECT@@isolatioin_level
三、多选题
1、MySQL数据库产品包括(ABCD)
(A)MySQL企业服务器(B)MySQL社区服务器
(C)MySQL嵌入数据库(D)MySQL集群
2、MySQL安装包括哪些主要部件(ABD)
(A)MySQL服务器(B)MySQL客户端程序
(C)PL/SQL(D)MySQL非客户端工具
3、MySQL为哪些内容分配内存(ABCD)
(A)线程句柄(B)MEMORY存储引擎创建的表
(C)客户端缓冲区(D)全局缓冲区与高速缓存
4、与MySQL服务器相互作用的通讯协议包括(ABCD)
(A)TCP/IP(B)Socket(C)共享内存(D)命名管道
5、SQL模式值TRADITIONAL是一个复合模式,包含哪些值(ABCD)
(A)STRICT_TRANS_TABLES(B)STRICT_ALL_TABLES
(C)NO_ZERO_DATE(D)NO_ZERO_IN_DATE
6、导致输入值无效原因是(ABCD)
(A)对于数据或时间列,值可能超出范围。
(B)对于字符串列,字符串可能太长。
(C)对于非NULL列赋予NULL值。
(D)对于ENUM列赋予非合法的枚举值。
7、当选择一个数值数据类型时,应该考虑的因素(ABC)
(A)数据类型数值的范围。
(B)列值所需要的存储空间数量
(C)列的精度与标度(适用于浮点与定点数)
(D)设计者的习惯
8、数据库对象包括(ABCD)
(A)表(B)视图(C)存储过程(D)触发器
9、使用键的好处是(ABC)
(A)降低查找时间(B)强化每行的唯一标识
(C)主键不能包含NULL(D)降低磁盘占用空间
10、MySQL存储引擎类型有哪些(ABCD)
(A)MyISAM(B)InnoDB(C)MEMORY(D)MERGE
11、设置表的默认字符集关键字是(CD)
(A)DEFAULTCHARACTER(B)DEFAULTSET
(C)DEFAULTCHARSET(D)DEFAULTCHARACTERSET
12、关于临时表的描述正确的是(ABCD)
(A)只在创建的会话可见,其它会话不能访问另一个会话创建的临时表。
(B)临时表只存在于会话生命周期中。
(C)临时表可以与非临时表有相同的名称。
(D)临时表不能使用SHOWTABLES显示。
13、改变表名的指令是(AB)
(A)ALTERTABLEt1renametot2;
(B)RENAMEt1tot2;
(C)UPDATENAMEt1tot2;
(D)CHANGENAMEt1tot2;
14、外键定义中ONDELETE与ONUPDATE有几种设置(ABCD)
(A)CASCADE(B)NOACTION(C)RESTRICT(D)SETNULL
15、关于TRUNCATETABLE描述正确的是(ABC)
(A)TRUNCATETABLE返回值为0。
(B)表中包含AUTO_INCREMENT列,使用TRUNCATETABLE可以重置序列值。
(C)TRUNCATETABLE本身不能回滚。
(D)TRUNCATETABLE删除表,然后根据表结构重新构建表。
16、事务具有哪些特性(ABCD)
(A)原子性(B)一致性(C)隔离性(D)持久性
17、哪些语句会导致隐式提交(ABCD)
(A)数据定义语句(ALTER、CREATE、DROP)
(B)数据访问和用户管理(GRANT、REVOKE)
(C)锁语句(LOCKTABLES、UNLOCKTABLES)
(D)部分数据操作语句(TRUNCATETABLE)
18、在并行的事务之间可能存在哪些现象(BCD)
(A)隔离(B)脏读(C)不可重复读(D)幻像读
19、MySQL数据库存在哪些隔离级别(ABCD)
(A)读未提交(B)读已提交(C)可重复读(D)可串行化
20、存储程序的优点(BCD)
(A)逻辑只与MYSQL有关,与客户端语言无关
(B)安全:
最少的数据访问、单一位置的处理
(C)性能:
通过交互减少提高性能
(D)函数库:
可利用数据库服务器函数库
21、存储程序的问题(ABCD)
(A)增加服务器负担
(B)开发工具有限
(C)有限的语言函数与速度
(D)有限的调试/配置能力
22、存储程序中选择语句有哪些(AB)
(A)IF(B)CASE(C)SELECT(D)SWITCH
23、存储程序中循环语句有哪些(ABC)
(A)REPEAT(B)WHILE(C)LOOP(D)FOR
24、存储程序中处理器有哪几种类型(CD)
(A)HANDLE(B)CASE(C)CONTINUE(D)EXIT
四、简答题
1、分别写出启动、连接、停止和卸载MySql服务(服务名为MySql)的语句?
启动:
netstartmysql
链接:
mysql-uroot–proot
停止:
netstopmysql
卸载:
mysqld-removemysql
2、将下列预处理程序补充完整?
mysql>____prepare___________abcfrom'select*fromcitywherecountrycode=?
';
mysql > _________set____________@code='CHN';
mysql > executeabc____uning_______@code;
3、请简述数据库语句执行过程,从预处理程序角度进行说明。
数据库语句执行过程:
(1)编译、判断程序语法(关键字),语义(表名、列名等数据库的对象)是否正确
(2)生成执行计划:
将编译后的语句执行,考虑性能问题(往往是数据库管理系统自身完全)
(3)获取语句相关的数据****基于性能考虑,数据库会提前进行编译工作称为预编译,这样就可以节约执行时间
4、请简述警告的级别,以及查看警告的命令(至少写两个)
A.
(1)Error:
错误消息显示了一个严重的问题,并组织服务器完成该请求。
(2)warning:
警告消息显示了服务器可以继续处理该请求的问题。
(3)note:
提示消息只是一个信息。
B.
(1)showwarnings;
(2)showerrors;
(3)shownotes;
5、将下列存储过程补充完整?
mysql > _____________delimiter________
mysql > CREATEPROCEDUREpro07(scoreINT)
->
-> BEGIN
-> ___declare________var1VARCHAR(32)default'XX';
-> IF(score>79)THENSETvar1='优秀';
-> ELSEIF(score>69)THENSETvar1='良';
->ELSEIF(score>59)THENSETvar1='及格';
->ELSESETvar1='不及格';
-> END IF;
-> SELECTvar1;
-> _____end__
-> //
mysql > DELIMITER ;
6、请说明视图的的注意事项
创建视图,只能产生一个结果集
(1)运行创建视图的语句需要用户具有创建视图(CRATEVIEW)的权限,若加了[ORREPLACE]时,还需要用户具有删除视图(DROPVIEW)的权限;
(2)SELECT语句不能包含FROM子句中的子查询;
(3)SELECT语句不能引用系统或用户变量;
(4)SELECT语句不能引用预处理语句参数;
(5)在存储子程序内,定义不能引用子程序参数或局部变量;
(6)在定义中引用的表或视图必须存在。
但是,创建了视图后,能够舍弃定义引用的表或视图。
要想检查视图定义是否存在这类问题,可使用CHECKTABLE语句;
(7)在定义中不能引用TEMPORARY表,不能创建TEMPORARY视图;
(8)在视图定义中命名的表必须已存在;
(9)不能将触发程序与视图关联在一起;
(10)在视图定义中允许使用ORDERBY,但是,如果从特定视图进行了选择,而该视图使用了具有自己ORDERBY的语句,它将被忽略。
7、MySQL处理列缺失值或遗漏值的规则。
答:
有定义default子句,值插入该子句指定的值;没有指定default子句时,在非严格模式下插入列数据类型的隐含缺省值,在严格模式下产生错误。
8、请说明ENUM类型和SET类型的区别。
ENUM类型
ENUM类型是一个枚举数据类型。
当定义一个列为ENUM类型时,将提供给该列所有可用的一系列值,最多可达65535个不同的值。
当插入或修改一个ENUM列时,从所有可用的值中选择一个值。
如果列值不在预先定义的列表里,该值将被删除并使用一个空字串。
ENUM数据类型将确保只有有效的continent列值才能被插入
ENUM数据类型所指定的值的顺序是很重要的。
在内部,ENUM值由一个整数表示,该整数值被识别为实际的字符串值。
这将有益于ENUM列的排序与比较,因为它是通过内部的整数值而不是字符串的值来操作。
SET类型
像ENUM数据类型一样,当定义一个列为set类型时,也必须提供一系列值。
不像ENUM,set类型可以从给定的列表中选择多个值组合为一个有效的值。
而该set值的字符串使用逗号分开列表里的字符串,模仿数学里的数据集合的概念。
ENUM类型
●枚举数据类型
●内部有一个整数表示
●ENUM(‘value1’,….,‘valuen’)
SET类型
●集合类型
●从给定的列表中选择多个组合为一个有效的值
●SET(‘value1’,….,‘valuen’)
答:
ENUM和SET都是比较特殊的字符串数据列类型,它们的取值范围是一个预先定义好的列表。
ENUM或SET数据列的取值只能从这个列表中进行选择。
ENUM和SET的主要区别是:
ENUM只能取单值,它的数据列表是一个枚举集合。
它的合法取值列表最多允许有65535个成员。
例如:
ENUM("N","Y")表示,该数据列的取值要么是"Y",要么就是"N"。
SET可取多值。
它的合法取值列表最多允许有64个成员。
空字符串也是一个合法的SET值。
ENUM和SET的值是以字符串形式出现的,但在内部,MySQL以数值的形式存储它们。
ENUM的合法取值列表中的字符串被按声明定义的顺序被编号,从1开始。
SET的编号不是按顺序进行编号的,SET中每一个合法取值都对应着SET值里的一个位。
第一个合法取值对应0位,第二个合法取值对应1位,以此类推,如果数值形式的SET值等于0,则说明它是一个空字符串,如果某个合法的取值出现在SET数据列里,与之对应的位就会被置位;如果某个合法的取值没有出现在SET数据列里,与之对应的位就会被清零。
正因为SET值与位有这样的对应关系,所以SET数据列的多个合法取值才能同时出现并构成SET值。
9、请说明truncatetable和deletefrom的区别。
●DELETEfrom
•通过where指定删除范围
•执行效率低
•返回被删除的记录数
•面向事务
●TRUNCATEtable
•只能删除全部数据
•执行效率高
•返回值为0
•没有事务
答:
TRUNCATETABLE和不带WHERE的DELETE功能是一样的,都是删除表中的所有数据,不过TRUNCATETABLE速度更快,占用的日志更少,这是因为TRUNCATETABLE直接释放数据页并且在事务日志中也只记录数据页的释放,而DELETE是一行一行地删除,在事务日志中要记录每一条记录的删除。
那么可不可以用TRUNCATETABLE代替不带WHERE的DELETE呢?
在以下情况是不行的:
1、要保留标识的情况下不能用TRUNCATETABLE,因为TRUNCATETABLE会重置标识。
2、需要使用触发器的情况下不能使用TRUNCATETABLE,它不会激发触发器。
3、对于由FOREIGNKEY约束引用的表(即主键所在的表,不是外键所在的表)不能使用TRUNCATETABLE。
4、对于参与了索引视图的表不能使用TRUNCATETABLE,注意指索引视图,并非普通视图。
10、请说明mysql数据库中标识符大小写敏感规则?
答:
(1)数据库、表的标识符依赖于操作系统的文件系统以及系统变量lower_case_table_names的设置
(2)列、索引和存储过程标识符大小写不敏感
(3)列别名也不敏感
(4)触发器的大小写敏感规则同表和数据库(但不受lower_case_table_names影响)
11、存储过程和存储函数有什么区别?
(5分)
答:
存储过程是一系列保存在数据库里的指令,过程将按照指令执行但不会返回任何值,该过程由call语句调用,并且只能使用输出变量来传递返回值。
存储函数是一系列保存在数据库里的指令,并且返回一个值。
就像其他任何函数一样,函数可在语句中被调用,并返回一个值。
12、排序顺序一般服从什么规则,可以从数字,字母,汉字等角度进行说明。
答:
排序顺序一般服从以下规则:
1.数字<字母<汉字
2.数字0-9,从小到大,15>9如果数字变为字符型那就不一定按照数字大小规律‘15’<’2’
3.字母:
A 4.汉字: 你ni<他ta<我wo,,你ni<您nin,按照拼音字母比较(逐个比较) 五、编程题 学生成绩数据库(库名stuDB)下有三张表,表结构如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MySQL数据库开发 MySQL 数据库 开发 期末 复习 试题