好文档 - 专业文书写作范文服务资料分享网站

MySQL数据库基础与实例教程练习题参考答案

天下 分享 时间: 加入收藏 我要投稿 点赞

第四章答案

1.NUL与NULL有什么区别? 答:请参看4.4章节内容。

2.truncate与delete有什么区别? 答:请参看4.3.2章节内容。

3.更新操作与字符集有什么关系?

答:如果更新语句中包含中文简体字符,应该合理地设置字符集,否则,将把乱码数据更新到数据库表中。详细请参看4.1.2章节内容。

4.数据库表中自增型字段的值一定连续吗? 答:请参看4.1.3章节内容。

5.replace语句与insert语句有什么区别? 答:请参看4.1.6章节内容。

6.执行了delete语句后,表结构被删除了吗?使用什么命令可以删除表结构?

答:delete语句删除的是表中的记录,无法删除表结构;删除表结构可以使用drop table命令。

7.请读者向“选课系统”choose数据库中的选课choose表插入表4-8所示的信息,并完成其他操作。

表4-8

choose_no 1 2 3 4 5 6 7 8 向choose表添加的测试数据

student_no 2012001 2012001 2012002 2012002 2012003 2012004 2012005 2012005 course_no 2 1 3 2 1 2 3 1 score 40 50 60 70 80 90 NULL NULL choose_time 服务器当前时间 服务器当前时间 服务器当前时间 服务器当前时间 服务器当前时间 服务器当前时间 服务器当前时间 服务器当前时间 (1)学生张三(student_no=2012001)已经选修了课程java程序设计(course_no=1),在选修时间截止前,他想把该课程调换成MySQL数据库(course_no=2),试用SQL语句实现该功能。

说明:题目中的张三(student_no=2012005)应该修改为张三(student_no=2012001) 第一种方法:

use choose; update choose set course_no=2 where course_no=1 and student_no='2012001';

第二种方法:

use choose; delete from choose where course_no=1 and student_no='2012001'; insert into choose values(null,'2012005',2,null,now()); (2)学生田七(student_no=5)已经选修了课程c语言程序设计(course_no=3),由于

某种原因,在选修时间截止前,他不想选修该课程了,试用SQL语句实现该功能。

说明:题目中的田七(student_no=5)应该修改为田七(student_no=2012005) use choose; delete from choose where course_no=3 and student_no='2012005';

(3)课程结束后,请录入某个学生的最终成绩,最终成绩=(原成绩*70%)+30。 说明:题目修改为:课程结束后,请修改所有学生的最终成绩,最终成绩=(原成绩*70%)+30 use choose; update choose set score=score*0.7+30;

(4)请解释学生的成绩为NULL值的含义,NULL值等于零吗?

答:成绩为NULL值,表示学生还没有考试该课程,成绩未知。成绩为零,表示学生已经考试了该课程,成绩已知。

第五章答案

1.简述limit以及distinct的用法。 答:请参看5.1.2章节内容。

2.什么是内连接、外连接?MySQL支持哪些外连接? 答:请参看5.1.3章节内容。

3.NULL参与算术运算、比较运算以及逻辑运算时,结果是什么? 答:请参看5.2.2章节内容。

4.NULL参与排序时,MySQL对NULL如何处理? 答:请参看5.3章节内容。

5.您怎样理解select语句与字符集之间的关系? 答:请参看5.2.3章节内容。

6.MySQL常用的聚合函数有哪些?这些聚合函数对NULL值操作的结果是什么? 答:请参看5.4章节内容。

7.您怎样理解having子句与where子句之间的区别? 答:请参看5.5.2章节内容。

8.您怎样理解concat()与group_concat()函数之间的区别? 答:请参看5.5.3章节内容。

9.什么是相关子查询与非相关子查询?

答:如果子查询中仅仅使用了自己定义的数据源,不依靠主查询,能够独立运行的子查询,这种查询是非相关子查询。非相关子查询是独立于外部查询的子查询,子查询总共执行一次,执行完毕后将值传递给主查询。

如果子查询中使用了主查询的数据源,这种查询是相关子查询,此时主查询的执行与相关子查询的执行相互依赖。

10.请编写SQL脚本,输入选课系统综合查询章节内的select语句。 答:请参看5.8章节内容。

11.MySQL如何使用like关键字实现模糊查询?有什么注意事项? 答:请参看5.2.5章节内容。

12.MySQL如何使用正则表达式实现模糊查询? 答:请参看5.9章节内容。

13.MySQL如何进行全文检索?全文检索有什么注意事项? 答:请参看5.10章节内容。

14.您觉得全文检索与like模糊查询、正则表达式模糊查询最大的区别是什么? 答: 全文检索:是指全文检索解析器(分词技术)通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户进行against查询时,根据事先建立的全文索引进行查找,并将查找的结果反馈给用户。 以全文检索“我们is中国人而自豪”为例。全文检索解析器可将该中文信息切分成:我们、is、中国、国人、人而、而自、自豪(这里以两个字为单位进行分割为例,实际情况更为复杂),并建立全文索引。 当用户使用contains语句查询“自豪”(为了区分,搜索关键词是蓝色字)关键词时,此时“自豪”(蓝色字)去匹配全文索引中的“自豪”(为了区分,索引关键词是红色字),并将匹配到的结果“我们is中国人而自豪”返回!

而使用like或者正则表达式查询“自豪”关键词时,并没有将“我们is中国人而自豪”这句话分割,还是将整句话当作整体来看,然后通过字符串比较的方式,判断“自豪”字符串是不是“我们is中国人而自豪”字符串的子字符串。如果是,说明成功匹配,然后将匹配到的结果“我们is中国人而自豪”返回! 因此:全文检索的核心是利用分词技术建立索引,继而利用索引加快字符串的匹配速度。 like或者正则表达式的核心是搜索关键词“自豪”字符串是不是“我们is中国人而自豪”字符串的子字符串。 15.最新版本的MySQL中,InnoDB存储引擎的表支持全文检索吗? 答:支持

16.MySQL不支持完全连接,您能不能通过其他技术手段实现完全连接的功能? 答:将左连接和右连接通过union模拟实现完全连接。 17.合并结果集时,union与union all有什么区别? 答:请参看5.6章节内容。

18.给定一个教师的工号(例如'001'),统计该教师已经申报了哪些课程。 答: select course_no,course_name,up_limit,description,teacher.teacher_no,teacher_name,teacher_contact,available,status from course join teacher on course.teacher_no=teacher.teacher_no where teacher.teacher_no = '001';

第六章答案

1.使用select语句输出各种数据类型的常量时,数据类型都是如何转换的? 答:各种数据类型的常量会被自动转换为“字符串”再进行显示。 2.系统会话变量与用户会话变量有什么区别与联系? 答:请参看6.1.2章节内容。

3.用户会话变量与局部变量有什么区别与联系? 答:请参看6.1.2章节内容。

4.为用户会话变量或者局部变量赋值时,有哪些注意事项? 答:请参看6.1.2章节内容。

5.编写MySQL存储程序时,为什么需要重置命令结束标记? 答:请参看6.1.5章节内容。

6.创建本书涉及到的所有自定义函数,并进行调用。 答:请参看本章内容。

7.总结哪些日期、时间函数的执行结果与时区的设置无关。 答:请参看6.3.6章节内容。

8.创建自定义函数有哪些注意事项?

(1) 自定义函数的函数体使用select语句时,该select语句不能产生结果集,否则将产生编译错误。

(2) 自定义函数是数据库的对象,因此,创建自定义函数时,需要指定该自定义函数隶属于哪个数据库。

(3) 同一个数据库内,自定义函数名不能与已有的函数名(包括系统函数名)重名。建议在自定义函数名中统一添加前缀“fn_”或者后缀“_fn”。

(4) 函数的参数无需使用declare命令定义,但它仍然是局部变量,且必须提供参数的数据类型。自定义函数如果没有参数,则使用空参数“()”即可。

(5) 函数创建成功后,记得将命令结束标记恢复“原状”。 (6) 函数必须指定返回值数据类型,且须与return语句中的返回值的数据类型相近(长度可以不同)。

9.请分析下面的getdate()函数完成的功能,创建该函数,并调用该函数。

MySQL数据库基础与实例教程练习题参考答案

第四章答案1.NUL与NULL有什么区别?答:请参看4.4章节内容。2.truncate与delete有什么区别?答:请参看4.3.2章节内容。3.更新操作与字符集有什么关系?答:如果更新语句中包含中文简体字符,应该合理地设置字符集,否则,将把乱码数据更新到数据库表中。详细请参
推荐度:
点击下载文档文档为doc格式
8cezz67lc55gf8x599ez10e609m8f001b9f
领取福利

微信扫码领取福利

微信扫码分享