内容发布更新时间 : 2024/12/23 5:56:58星期一 下面是文章的全部内容请认真阅读。
91
(6)db_name.routine_name:表示某个数据库中的某个存储过程或函数,routine_name指定存储过程名或函数名。 11一、编程题
在数据库db_test中创建一个存储过程,用于实现给定表content中一个留言人的姓名即可修改表content中该留言人的电子邮件地址为一个给定的值。 二、简答题
1.请解释什么是存储过程?
2.请列举使用存储过程的益处。 3.请简述游标在存储过程中的作用。 4.请简述存储过程与存储函数的区别。 习题答案 一、编程题
在MySQL命令行客户端输入如下SQL语句即可实现: mysql>USE db_test; Database changed mysql>DELIMITER$$
mysql>CREATE PROCEDURE sp_update email(IN USer_name VARCHAR(50),IN e_mail VARCHAR(50)) 一>BEGIN
一> UPDATE content SET email=e_mail WHERE username=user_name; 一>END$$
Query OK,0 rows affected(0.06 SeC) 二、简答题
1.存储过程是一组为了完成某特定功能的SQL语句集,其实质上就是一段存放在数据库中的代码,它可以由声明式的SQL语句(如CREATE、UPDATE和SELECT等语句)和过程式SQL语句(如IF-THEN-ELSE控制结构语句)组成。 2.略。可参考第11章11.1节内容。
3.游标是一个被SELECT语句检索出来的结果集。在存储了游标后,应用程序或用户就可以根据需要滚动或浏览其中的数据。
4.存储函数与存储过程之间存在这样几点区别: (1)存储函数不能拥有输出参数,这是因为存储函数自身就是输出参数;而存储过程可以拥有输出参数。
(2)可以直接对存储函数进行调用,且不需要使用CALL语句;而对存储过程的调用,需要使用CALL语句。
(3)存储函数中必须包含一条RETURN语句,而这条特殊的SQL语句不允许包含于存储过程中。
10一、编程题
在数据库db_test中创建一个事件,用于每个月将表content中姓名为“MySQL初学者”的留言人所发的全部留言信息删除,该事件开始于下个月并且在2013年12月31日结束。 二、简答题
1.请解释什么是事件? 2.请简述事件的作用。
3·请简述事件与触发器的区别。 习题答案
92
一、编程题
在MySQL命令行客户端输入如下SQL语句即可实现: mysql>USE db_test; Database changed mysql>DELIMITER$$
mysql>CREATE EVENT IF NOT EXISTS event_delete_content —> ON SCHEDULE EVERY l MONTH
—>STARTS CURDATE()+INTERVAL l MONTH —>ENDS’2013—12—31’ —>DO —>BEGIN
—>IF YEAR(CURDATE())<2013 THEN —>DELETE FROM content
—>WHERE username=’MySQL初学者’; —>END IF; —>END$$
Query OK。0 rows affected(2.35 see) 二、简答题
1.事件就是需要在指定的时刻才被执行的某些特定任务,其中这些特定任务通常是一些确定的SQL语句。
2.事件可以根据需要在指定的时刻被事件调度器调用执行,并以此可取代原先只能由操作系统的计划任务来执行的工作。 3.事件和触发器相似,都是在某些事情发生的时候才被启动,因此事件也可称作临时触发器(temporal trig—ger)。其中,事件是基于特定时间周期触发来执行某些任务,而触发器是基于某个表所产生的事件触发的,它们的区别也在于此。 9一、填空题
在实际使用中,MySQL所支持的触发器有_______、_______和_______三种。 二、编程题
在数据库db_test的表content中创建一个触发器content_delete_trigger,用于每次当删除表content中一行数据时。将用户变量str的值设置为“0ld cdntent deleted!”。 习题答案 一、填空题
INSERT触发器 DELETE触发器 UPDATE触发器 二、编程题
在MySQL命令行客户端输入如下SQL语句即可实现: mysql>USE db—test; Database changed
mysql>CREATE TRIGGER content_delete_trigger AFTER DELETE
—> ON content FOR EACH ROW SET@str=’old content deleted!’; Query OK,0 rows affected(2.59 sec) 8一、填空题
MySQL支持关系模型中_______、_______和_______三种不同的完整性约束。 二、简答题
1.什么是实体完整性?
93
2.MySQL是如何实现实体完整性约束的? 习题答案 一、填空题
实体完整性 参照完整性 用户定义的完整性。 7一、选择题
不可对视图执行的操作有_______。 A)SELECT B)INSERT C)DELETE
D)CREATE INDEX 二、填空题
1.在MySQL中,可以使用_______语句创建视图。 2.在MySQL中,可以使用_______语句删除视图。 三、编程题
在数据库db_test中创建视图content_view,要求该视图包含表content中所有留言人姓名为“MySQL初学者”的信息.并日要求保证今后对该视图数据的修改都必须符合留言人姓名为“MySQL初学者”这个条件。 四、简答题
1.请解释视图与表的区别。 2.请简述使用视图的益处。 习题答案 一、选择题 D
二、填空题
1.CREATE VIEW 2.DROP VIEW 三、编程题
在MvSQL命令行客户端输入如下SQL语句即可实现: mysql>USE db_test; Database changed
mysql>CREATE VlEW content_view 一> AS
一> SELECT * FROM content
一> WHERE username=’MySQL 初学者 一>WITH CHECK OPTION
Otlerv OK.0 rows affected(0.17sec) 6一、选择题
下列哪种方法不能用于创建索引?_______ A)使用CREATE INDEX语句 B)使用CREATE TABLE语句 C)使用ALTER TABLE语句 D)使用CREATE DATABASE语句 二、填空题
1.创建普通索引时,通常使用的关键字是_______或KEY。 2.创建唯一性索引时,通常使用的关键字是_______。
94
三、编程题
请用CREATE INDEX语句在数据库db_test的表content中,根据留言标题列的前三个字符采用默认的索引类型刨建一个升序索引index_subject。 四、简答题
1.请简述索引的概念及其作用。 2.请列举索引的几种分类。
3.请分别简述在MysQL中创建、查看和测除索引的SQL语句。 4.请简述使用索引的弊端。 习题答案 一、选择题 D
二、填空题
1.INDEX2.UNIQUE 三、编程题
在MySQL命令行客户端输入如下SQL语句即可实现: mysql>USE db_test; Database changed
mysq|>CREATE INDEX index_subject 一>ON content(subject(3)ASC);
Query OK,0 rows affected(0.44 see) Records:0 Duplicates:0Warnings:0 四、简答题
1.略。可参考第6章6.I节内容。 2.略。可参考第6章6.2节内容。
3.略。可参考第6章6.3、6.4、6.5节内容。 4.略。可参考第6章6.6节内容。 一、选择题
1.在MySQL中,通常使用________语句来进行数据的检索、输出操作。 A.SELECT B.INSERT C.DELETE D.UPDATE
2.在SELECT语句中,可以使用________子句,将结果集中的数据行根据选择列的值进行逻辑分组,以便能汇总表内容的子集,即实现对每个组的聚集计算。 A.LIMIT B.GROUP BY C.WHERE D.ORDER BY 二、填空题
1.SELECT语句的执行过程是从数据库中选取匹配的特定________和________,并将这些数据组织成一个结果集,然后以一张________的形式返回。
2.当使用SELECT语句返回的结果集中行数很多时,为了便于用户对结果数据的浏览和操作,可以使用子句来限制被SELECT语句返回的行数。 三、编程题
95
请使用SELECT语句将数据库db_test的表content中留言人姓名为“MySQL初学者”的所有留言信息检索出来。 四、简答题
1.请简述什么是子查询?
2.请简述UNION语句的作用。 习题答案 一、选择题 1.A2.B 二、填空题
1.行列临时表2.LIMIT 三、编程题
在MySQL命令行客户端输入如下SQL语句即可实现: mysql>USE db—test; Database changed
mysql>SELECT*FROM content
一>WHERE username=’MySQL初学者’; 四、简答题
1.略。可参考第5章5.4节内容。 2.略。可参考第5章5.9节内容。 一、选择题
下列语句中,________不是表数据的基本操作语句。 A)CREATE语句 B)INSERT语句 C)DELETE语句 D)UPDATE语句 二、填空题
1.在MySQL中,可以使用INSERT或________语句,向数据库中一个已有的表插入一行或多行元组数据。
2.在MySQL中,可以使用________语句或________语句删除表中的一行或多行数据。 3.在MySQL中,可以使用________语句来修改、更新一个表或多个表中的数据。 三、编程题
1.请使用INSERT语句向数据库db_test的表content中插入一行描述了下列留言信息的数据:留言ID号由系统自动生成;留言标题为“MySQL问题请教”;留言内容为“MySQL中对表数据的基本操作有哪些?”;
留言人姓名为“MySQL初学者”;脸谱图标文件名为“face.jpg”;电子邮件为“tom@gmail.com”;留言创建日期和时间为系统当前时间。
2.请使用UPDATE语句将数据库db_test的表content中留言人姓名为“MySQL初学者”的留言内容修改为“如何使用INSERT语句?”。
3.请使用DELETE语句将数据库db_test的表content中留言人姓名为“MysQL初学者”的留言信息删除。 四、筒答题
1.请简述INSERT语句与REPLACE语句的区别。 2.请简述DELETE语句与TRUNCATE语句的区别。 第四章习题答案