《MySQL数据库开发》期末复习题.doc

上传人:坚持 文档编号:3598808 上传时间:2019-06-20 格式:DOC 页数:9 大小:102KB
下载 相关 举报
《MySQL数据库开发》期末复习题.doc_第1页
第1页 / 共9页
《MySQL数据库开发》期末复习题.doc_第2页
第2页 / 共9页
《MySQL数据库开发》期末复习题.doc_第3页
第3页 / 共9页
《MySQL数据库开发》期末复习题.doc_第4页
第4页 / 共9页
《MySQL数据库开发》期末复习题.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、MySQL 数据库开发期末复习题考试题型一、单选题(每小题 2 分,共 40 分)二、判断题(每小题 1 分,打”或”,共 10 分)三、 问答题(共 15 分,每小题 5 分)四、综合题 (共 35 分,每小题 5 分)填空1、用来表示数据库中行之间的关系的机制称为_外键_约束。2、_ 字符集_是一套符号与编码,它包括编码规则以定义字符如何被编码为数字。3、MySQL 程序选项有两种通用形式:_长选项_ 和 _短选项_。4、MySQL 数据类型分为四大主要类别:_ 数值_、_字符_、_二进制_、_ 时间_。5、_存储程序_是保存在服务器里的一组 SQL 语句的集合。6、_ 锁_是一种用来防止

2、多个客户端时访问数据而产生问题的机制。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 - - VERSI

3、ON(C)mysql - - help (D)mysql - - v3、设置语句结束符的命令是(C )(A)set (B) end (C)delimiter (D)finish4、设置 MySQL 提示符的命令是(B )(A)tip (B) prompt (C)popup (D)message5、导入 sql 脚本文件的命令是( A)(A)source (B) script (C)file (D)sql6、关于 SELECT 语句以下哪一个描述是错误的( C )(A)SELECT 语句用于查询一个表或多个表的数据。(B)SELECT 语句属于数据操作语言(DML) 。(C )SELECT 语句

4、的列必需是基于表的列的。(D)SELECT 语句表示数据库中一组特定的数据记录。7、ENUM 类型的字段 level 定义为(LOW、MIDDLE、HIGH) ,ORDER BY level asc的顺序是( B)(A)HIGH 、LOW、MIDDLE (B)LOW、MIDDLE、HIGH(C )MIDDLE、LOW、HIGH (D)HIGH、MIDDLE、LOW8、SELECT * FROM city limit 5,10 描述正确的是(C )(A)获取第 6 条到第 10 条记录。 (B)获取第 5 条到第 10 条记录。(C )获取第 6 条到第 15 条记录。 (D)获取第 5 条到第

5、 15 条记录。9、GROUP_CONCAT()函数作用是( A)(A)将每组的结果字符串连接起来 (B)将每组的结果累加(C )统计每组的记录数 (D)统计每组的平均值10、GROUP 子句带 WITH ROLLUP 的作用是(D )(A)将每组的结果累加 (B)统计每组的平均值(C )统计每组的记录数 (D)产生多个级别的统计值11、查看全局 SQL 模式的命令是(A )(A)select sql_mode (B)select session.sql_mode(C)select global.sql_mode (D)select global.sql_mode12、关于在非严格模式下处理无

6、效值,哪个是错误的( D)(A)基于列定义的限制隐含值来执行类型转化。(B)在可能的情况下调整无效的输入值为合法值,并产生警告信息。(C )转换超出范围的值为范围内的值。(D)拒绝无效值,产生错误。13、关于在严格模式下处理无效值,哪个是错误的(B )(A)允许超出范围的值(B)拒绝超出范围的值。(C)拒绝不正确数据类型的值。(D)拒绝没有缺省值的非空列。14、VARCHAR 类型字段保存最大的字符数是( C )(A)255 (B) 1025 (C)65533 (D)6553515、查看系统中可用的字符集命令是(A )(A)show character set (B)show collatio

7、n (C )show character (D)show set16、关于 DATETIME 与 TIMESTAMP 两种数据类型的描述,错误的是( B)(A)两者值的范围不一样。(B)两者值的范围一样。(C)两者占用空间不一样。(D)TIMESTAMP 可以自动记录当前日期时间。17、在非严格模式下保存 250 到 TINYINT 类型字段时实际保存值是(B )(A)250 (B)0 (C)127 (D)12818、SELECT GREATEST(ab,cd,ef,gh)结果是(D )(A)ab (B)cd (C)ef (D)gh19、SELECT LEAST(ab,cd,ef,gh)结果是

8、( A)(A)ab (B)cd (C)ef (D)gh20、SELECT FLOOR(-14.7), FLOOR(14.7)的结果是(A )(A)-15,14 (B)-15,15 (C)-14,14 (D)-14,1521、SELECT CEILING(-14.7), CEILING(14.7)的结果是(D )(A)-15,14 (B)-15,15 (C)-14,14 (D)-14,1522、SELECT LOCATE(to, Welcome to China)的结果是( C)(A)7 (B)8 (C)9 (D)1023、SELECT SUBSTRING(Welcome to China, 9

9、, 2)的结果是(C )(A)Welcome (B) to (C)China (D)Welcome to24、SELECT SUBSTRING_INDEX(Welcome to China, to, -1)的结果是(D )(A)Welcome (B) to (C) China (D)Welcome to25、SELECT CONCAT_WS(/, A, NULL, B, NULL)的结果是( C)(A)AB (B) NULL (C) A/B (D)A/B/26、删除列指令是(D )(A)ALTER TABLE DELETE (B)ALTER TABLE DELETE COLUMN(C)ALTE

10、R TABLE DROP (D)ALTER TABLE DROP COLUMN27、修改列指令是( A)(A)ALTER TABLE MODIFY (B)ALTER TABLE MODIFY COLUMN(C)ALTER TABLE UPDATE (D)ALTER TABLE UPDATE COLUMN28、以下哪一种指令无法增加记录(D )(A)INSERT INTO VALUES (B)INSERT INTO SELECT(C)INSERT INTO SET (D)INSERT INTO UPDATE29、对于 REPLACE 语句描述的是( C)(A)REPLACE 语句返回一个数字以表

11、示受影响的行,包含删除行和插入行的总和。(B)通过返回值可以判断是否增加了新行还是替换了原有行。(C)因主键重复插入失败时直接更新原有行。(D)因主键重复插入失败时先删除原有行再插入新行。30、关于 DELETE 和 TRUNCATE TABLE 区别描述错误的是( B)(A)DELETE 可以删除特定范围的数据。(B)两者执行效率一样。(C)DELETE 返回被删除的记录行数。(D)TRUNCATE TABLE 返回值为 0。31、查看是否启用自动提交的指令是(B )(A)SELECT auto (B)SELECT autocommit(C )SELECT commit (D)SELECT

12、auto_commit32、查看当前隔离级别的指令是(C )(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 为哪些内容分配内存(ABC

13、D )(A)线程句柄 (B)MEMORY 存储引擎创建的表(C)客户端缓冲区 (D)全局缓冲区与高速缓存4、与 MySQL 服务器相互作用的通讯协议包括(A,C,D )(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_DATE6、导致输入值无效原因是( ABD)(A)对于数据或时间列,值可能超出范围。(B)对于字符串列,字符串可能太长。(C)对于

14、非 NULL 列赋予 NULL 值。(D)对于 ENUM 列赋予非合法的枚举值。7、当选择一个数值数据类型时,应该考虑的因素(ABC )(A)数据类型数值的范围。(B)列值所需要的存储空间数量(C)列的精度与标度(适用于浮点与定点数)(D)设计者的习惯8、数据库对象包括(ABCD )(A)表 (B)视图 (C)存储过程 (D)触发器9、使用键的好处是( BD)(A)降低查找时间 (B)强化每行的唯一标识(C)主键不能包含 NULL (D)降低磁盘占用空间10、MySQL 存储引擎类型有哪些(AB )(A)MyISAM (B) InnoDB (C)MEMORY (D)MERGE11、设置表的默认

15、字符集关键字是(AD )(A)DEFAULT CHARACTER (B)DEFAULT SET(C)DEFAULT CHARSET (D)DEFAULT CHARACTER SET12、关于临时表的描述正确的是( ABCD)(A)只在创建的会话可见,其它会话不能访问另一个会话创建的临时表。(B)临时表只存在于会话生命周期中。(C)临时表可以与非临时表有相同的名称。(D)临时表不能使用 SHOW TABLES 显示。13、改变表名的指令是(AB )(A)ALTER TABLE t1 rename to t2;(B)RENAME t1 to t2;(C)UPDATE NAME t1 to t2;(

16、D)CHANGE NAME t1 to t2;14、外键定义中 ON DELETE 与 ON UPDATE 有几种设置( ABCD)(A)CASCADE (B) NO ACTION (C)RESTRICT (D)SET NULL15、关于 TRUNCATE TABLE 描述正确的是(ABCD )(A)TRUNCATE TABLE 返回值为 0。(B)表中包含 AUTO_INCREMENT 列,使用 TRUNCATE TABLE 可以重置序列值。(C)TRUNCATE TABLE 本身不能回滚。(D)TRUNCATE TABLE 删除表,然后根据表结构重新构建表。16、事务具有哪些特性(ABCD

17、 )(A)原子性 (B)一致性 (C)隔离性 (D)持久性17、哪些语句会导致隐式提交(BC )(A)数据定义语句(ALTER 、CREATE、DROP)(B)数据访问和用户管理( GRANT、REVOKE )(C )锁语句(LOCK TABLES、UNLOCK TABLES)(D)部分数据操作语句(TRUNCATE TABLE)18、在并行的事务之间可能存在哪些现象(BCD )(A)隔离 (B)脏读 (C)不可重复读 (D)幻像读19、MySQL 数据库存在哪些隔离级别(ABCD )(A)读未提交 (B)读已提交 (C)可重复读 (D)可串行化20、存储程序的优点(BCD )(A)逻辑只与

18、MYSQL 有关,与客户端语言无关(B)安全:最少的数据访问、单一位置的处理(C )性能:通过交互减少提高性能(D)函数库:可利用数据库服务器函数库21、存储程序的问题(ABCD )(A)增加服务器负担(B)开发工具有限(C )有限的语言函数与速度(D)有限的调试 /配置能力22、存储程序中选择语句有哪些(ABD )(A)IF (B) CASE (C)SELECT (D)SWITCH23、存储程序中循环语句有哪些(BC )(A)REPEAT (B) WHILE(C)LOOP (D)FOR24、存储程序中处理器有哪几种类型(CD )(A)HANDLE (B) CASE (C)CONTINUE (

19、D)EXIT简答1、分别写出启动、连接、停止和卸载 MySql 服务(服务名为 MySql)的语句?启动:net start mysql 或者控制面板启动服务连接:mysql uroot h127.0.0.1 p111停止:net stop mysql 或者控制面板停止服务卸载:假设已装了 mysql 在 f:/,在命令提示符 f:mysqlbin 下运行 mysql nt remove,会提示卸载成功,然后在控制面板删除程序中卸载 mysql2、将下列预处理程序补充完整? mysql_prepare_abc from select * from city where countrycode=

20、?;mysql _set_ code=CHN;mysql execute abc _using_ code;3、请简述数据库语句执行过程,从预处理程序角度进行说明。1)编译:判断程序语法、语义是否正确 2)生成执行计划:将编译后的语句执行,考虑性能问题 3)获取语句相关数据4、请简述警告的级别,以及查看警告的命令(至少写两个)1)error:错误消息显示一个严重的问题,并阻止服务器完成该请求2)warning:警告消息显示了服务器可以继续处理该请求的问题3)note:提示消息只是一个信息命令:1)show warnings 2)show errors5、将下列存储过程补充完整? mysql _

21、DELIMITER/_ mysql CREATE PROCEDURE pro07(score INT) - - BEGIN - _DECLARE_ var1 VARCHAR(32) default XX ; - IF (score79) THEN SET var1=优秀;- ELSEIF (score69) THEN SET var1=良 ;- ELSEIF (score59) THEN SET var1=及格;- ELSE SET var1=不及格;- END IF; - SELECT var1 ; - _END_ - / mysql DELIMITER ;6、请说明视图的的注意事项1)视图

22、只能产生一个结果集 2)只能创建一个表 3)如果视图中列是被计算机或者含表达式变更过则不允许修改,因为这个值已经不是数据库中的值 4)视图是基于多张表的建立,则修改数据时一次只能修改一张表的数据,修改数据只对基表有效,对视图依情况而定7、MySQL 处理列缺失值或遗漏值的规则。1)如果列的定义中包含一个 default 子句,mysql 将插入该子句的值2)如果列的定义里没有 default 子句,在非严格下插入列数据类型的隐含缺省值,如果严格模式生效,对于事务表将产生一个错误8、请说明 ENUM 类型和 SET 类型的区别。ENUM 的类型中的数据只能从范围中取一个或者无SET 的类型中的数

23、据可以从范围中任取任意个9、请说明 truncate table 和 delete from 的区别。truncate table:1)不能删除部分记录行,而只能删除表中的全部数据 2)通常执行更快速3)返回值为 0,而不是实际被删除的行数 4)没有事务 delete from:1)如果包含 where 子句,将删除特定表中的全部数据2)执行效率抵 3)返回被删除的记录行数 4)面向事务10、请说明 mysql 数据库中标识符大小写敏感规则?1)对数据库和表标识符,大小写敏感依赖于操作系统与服务器主机文件系统2)数据库和表由目录与文件表示,如果操作系统的文件名是大小写敏感,那么 mysql 处

24、理数据库和表的标识符也是大小写敏感 3)无论文件系统是否大小写敏感,数据库和表的标识符大小写必须一致 4)列、索引与存储过程标识符不是大小写敏感5)列的别名不是大小写敏感 6)触发器标识符的大小写敏感依赖于操作系统11、存储过程和存储函数有什么区别?(5 分)存储过程:是一系列保存在数据库里的指令,过程将按照指令执行但不会返回任何值存储函数:是一系列保存在数据库里的指令,并且返回一个值12、排序顺序一般服从什么规则,可以从数字,字母,汉字等角度进行说明。是按(从小到大)其实就是 Asicc 码的排序,0-9 A-Z -a-z -汉字(拼音)编程学生成绩数据库(库名 stuDB)下有三张表,表结

25、构如下。XS 表(学生情况表):学号 char(6) 不允许为空 主键姓名 char(8) 不允许为空 专业名 char(10) 允许为空性别 int(1) 男 1,女 0出生日期 date 系统默认 不允许为空总学分 tinyint(1) 允许为空照片 blobKC 表(课程表):课程号 char(3) 不允许为空 主键课程名 char(16) 不允许为空开课学期 tinyint(1) 不允许为空 只能为 18学时 tinyint(1) 不允许为空学分 tinyint(1) 允许为空XS_KC 表(成绩表):学号 char(6) 不允许为空 主键课程号 char(3) 不允许为空 主键成绩

26、tinyint(1) 允许为空学分 tinyint(1) 允许为空根据这三张表完成下列操作:1、写出三张表的建表语句Create table xs(学号 char(6)primary key not null,姓名 char(8), 专业名 char(10),性别 int(1)set(男 1,女 0),出生日期 date not null, 总学分 tinyint(1),照片 blob);Create table kc(课程号 char(3)primary key not null,课程名 char(16)not null,开课学期 tinyint(1)not null,学时 tinyint(

27、1)not null, 学分 tinyint(1));Create table xs_kc(学号 char(6)foreign key references xs(学号), 课程号 char(3)foreign key references kc(课程号),成绩 tinyint(1), 学分 tinyint(1), primary key (学号,课程号);2、 给成绩表增加一个列“补考成绩” ,允许为空Insert into xs_kc add column 补考成绩 tinyint(1);3、查询课程表中所有学生的情况Select * from xs;4、删除课程表中课程名称为 C 语言的

28、记录Delete from kc where 课程名称= C 语言;5、添加一要学生表的记录,该记录信息为学生的个人信息Insert into xs values(411211,xxx,电商,1992-1-11,70,null);6、创建学生表的一个名为 stucopy 的拷贝,并且复制其内容Select * into stucopy from xs ;(create table stucopy as select * from xs);7、查询 xs 表中计算机系各同学的学号,姓名和总学分,对其总分按以下规则进行替换;若总学分为空值,替换为”尚未选课” ;若总学分小于 60,替换为“不及格”

29、 ;若总学分在 6080 之间,则替换为“合格” ;若总学分大于 80,替换为“优秀” 。列表题更改为“等级” 。Select 学号,姓名,总学分 case When 总学分 is null then 尚未选课 when 总学分=60and 总学分=80 then 优秀End as 等级 from xs where 专业名= 计算机系;8、查询 xs 表中计算机系各同学的学号,姓名和性别,对其性别按以下规则进行替换;若性别为空值,替换为”未设置性别” ;若性别为 0,替换为“女” ;若性别为 1,替换为“男” ;列表题更改为“性别” 。Select 学号,姓名, 性别 case When 性别

30、 is null then 未设置性别 when 性别=0 then 女When 性别=1 then 男End from xs;9、查询出没有选课的学生信息Select * from xs where 学号 not in (select 学号 from xs_kc);10、删除成绩表中学分字段Alter table xs_kc drop column 学分;11、新建“test”用户,密码为“111” ,授予对 stuDB 数据库中所有表的select 权限。Create usertest loclhost indentified by 111;Grant select on xs to te

31、st;Grant select on kc to test;Grant select on xs_kc to test;12、用 from 的 join 关键字表达下列查询:查找选修了“mysql”课程且成绩及格的学生学号、姓名、课程名及成绩。Select 学号,姓名,课程号,成绩 from xs inner join xs_kc on xs.学号=xs_kc. 学号Inner join on kc.课程号=xs_kc.课程号 where 课程名=mysqland 成绩=60; 13、查询学生表中所有学分不为空的信息Select * from xs where 总学分 is not null;14、查询出学生姓名重复的学生信息Select * from xs t1,xs t2 where t1.姓名=t2.姓名 and t1.学号=t2.学号;15、创建存储过程 sp_kc,返回 kc 表中的总记录数,并调用该存储过程。Create procedure sp_kc ()Select count(*) from kc;Call sp_kc();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 参考答案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。