77范文网 - 专业文章范例文档资料分享平台

《MySQL数据库开发》期末复习题1(2)

来源:网络收集 时间:2019-03-09 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

(C)性能:通过交互减少提高性能 (D)函数库:可利用数据库服务器函数库 21、存储程序的问题(ABCD ) (A)增加服务器负担

(B)开发工具有限

(C)有限的语言函数与速度 (D)有限的调试/配置能力

22、存储程序中选择语句有哪些(AB ) (A)IF (B)CASE (C)SELECT 23、存储程序中循环语句有哪些(ABC )

(A)REPEAT (A)HANDLE

(B)WHILE (C)LOOP (D)FOR (B)CASE

(C)CONTINUE (D)EXIT

24、存储程序中处理器有哪几种类型( CD)

(D)SWITCH

四、简答题

1、分别写出启动、连接、停止和卸载MySql服务(服务名为MySql)的语句? 启动:net start mysql

链接:mysql-u root –proot 停止:net stop mysql

卸载:mysqld-remove mysql

2、将下列预处理程序补充完整?

mysql>____prepare___________abc from 'select * from city where countrycode=?';

mysql > _________set____________ @code='CHN'; mysql > execute abc ____uning_______ @code;

3、请简述数据库语句执行过程,从预处理程序角度进行说明。 数据库语句执行过程:

(1)编译、判断程序语法(关键字),语义(表名、列名等数据库的对象)是否正确 (2)生成执行计划:将编译后的语句执行,考虑性能问题(往往是数据库管理系统自身完全)

(3)获取语句相关的数据****基于性能考虑,数据库会提前进行编译工作称为预编译,这样就可以节约执行时间

4、请简述警告的级别,以及查看警告的命令(至少写两个)

A.(1)Error:错误消息显示了一个严重的问题,并组织服务器完成该请求。 (2)warning:警告消息显示了服务器可以继续处理该请求的问题。 (3)note:提示消息只是一个信息。 B.(1)show warnings; (2)show errors;

(3)show notes;

5、将下列存储过程补充完整?

mysql > _____________delimiter________

mysql > CREATE PROCEDURE pro07(score INT) ->

-> BEGIN

-> ___declare________ var1 VARCHAR(32) default 'XX' ; -> IF (score>79) THEN SET var1='优秀'; -> ELSEIF (score>69) THEN SET var1='良'; -> ELSEIF (score>59) THEN SET var1='及格'; -> ELSE SET var1='不及格'; -> END IF;

-> SELECT var1 ;

-> _____end__ -> //

mysql > DELIMITER ; 6、请说明视图的的注意事项 创建视图,只能产生一个结果集

(1) 运行创建视图的语句需要用户具有创建视图(CRATE VIEW)的权限,若加了[OR REPLACE]时,还需要用户具有删除视图(DROP VIEW)的权限; (2) SELECT语句不能包含FROM子句中的子查询;

(3) SELECT语句不能引用系统或用户变量; (4) SELECT语句不能引用预处理语句参数;

(5) 在存储子程序内,定义不能引用子程序参数或局部变量;

(6) 在定义中引用的表或视图必须存在。但是,创建了视图后,能够舍弃定义引用的表或视图。要想检查视图定义是否存在这类问题,可使用CHECK TABLE语句; (7) 在定义中不能引用TEMPORARY表,不能创建TEMPORARY视图;

(8) 在视图定义中命名的表必须已存在;

(9) 不能将触发程序与视图关联在一起;

(10) 在视图定义中允许使用ORDER BY,但是,如果从特定视图进行了选择,而该视图使用了具有自己ORDER BY的语句,它将被忽略。

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(\表示,该数据列的取值要么是\,要么就是\。

SET可取多值。它的合法取值列表最多允许有64个成员。空字符串也是一个合法的SET值。 ENUM和SET的值是以字符串形式出现的,但在内部,MySQL以数值的形式存储它们。 ENUM的合法取值列表中的字符串被按声明定义的顺序被编号,从1开始。

SET的编号不是按顺序进行编号的,SET中每一个合法取值都对应着SET值里的一个位。第一个合法取值对应0位,第二个合法取值对应1位,以此类推,如果数值形式的SET值等于0,则说明它是一个空字符串,如果某个合法的取值出现在SET数据列里,与之对应的位就会被置位;如果某个合法的取值没有出现在SET数据列里,与之对应的位就会被清零。正因为SET值与位有这样的对应关系,所以SET数据列的多个合法取值才能同时出现并构成SET值。

9、请说明truncate table和delete from的区别。

? DELETE from

? 通过where指定删除范围 ? 执行效率低

? 返回被删除的记录 数 ? 面向事务

? TRUNCATE table

? ? ? ?

答:TRUNCATE TABLE 和不带 WHERE 的 DELETE 功能是一样的,都是删除表中的所有数据,不过 TRUNCATE TABLE 速度更快,占用的日志更少,这是因为 TRUNCATE TABLE 直接释放数据页并且在事务日志中也只记录数据页的释放,而 DELETE 是一行一行地删除,在事务日志中要记录每一条记录的删除。那么可不可以用 TRUNCATE TABLE 代替不带 WHERE 的 DELETE 呢?在以下情况是不行的:

1、要保留标识的情况下不能用 TRUNCATE TABLE,因为 TRUNCATE TABLE 会重置标识。

2、需要使用触发器的情况下不能使用 TRUNCATE TABLE ,它不会激发触发器。 3、对于由 FOREIGN KEY 约束引用的表(即主键所在的表,不是外键所在的表)不能使用 TRUNCATE TABLE。

只能删除全部数据

执行效率高 返回值为0 没有事务

4、对于参与了索引视图的表不能使用 TRUNCATE TABLE ,注意指索引视图,并非普通视图。

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.字母:A4.汉字:你ni<他ta<我wo,,你ni<您nin,按照拼音字母比较(逐个比较)

五、编程题

学生成绩数据库(库名stuDB)下有三张表,表结构如下。 XS表(学生情况表):

学号 char(6) 不允许为空 主键

姓名 char(8) 不允许为空 专业名 char(10) 允许为空 性别 int(1) 男 1,女0

出生日期 date 系统默认 不允许为空 总学分 tinyint(1) 允许为空 照片 blob KC表(课程表):

课程号 char(3) 不允许为空 主键 课程名 char(16) 不允许为空

开课学期 tinyint(1) 不允许为空 只能为1—8 学时 tinyint(1) 不允许为空

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库《MySQL数据库开发》期末复习题1(2)在线全文阅读。

《MySQL数据库开发》期末复习题1(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/505017.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: