1、数据库程序设计-试卷 1 及答案解析(总分:50.00,做题时间:90 分钟)一、单项选择题(总题数:1,分数:2.00)1.不可对视图执行的操作有 _ 。(分数:2.00)A.SELECTB.INSERTC.DELETED.CREATE INDEX二、基本操作题(总题数:5,分数:10.00)2.请用 CREATE INDEX 语句在数据库 db_test 的表 content 中,根据留言标题列的前三个字符采用默认的索引类型创建一个升序索引 indexsubject。(分数:2.00)_3.在数据库 dbtest 的表 content 中创建一个触发器 contentdeletetrisg
2、er,用于每次当删除表content 中一行数据时。将用户变量 8tr 的值设置为“old content deleted!”。(分数:2.00)_4.在数据库 db_test 中创建一个事件,用于每个月将表 content 中姓名为“MySQL 初学者”的留育人所发的全部留言信息删除。该事件开始于下个月并且在 2013 年 12 月 31 日结束。(分数:2.00)_5.在数据库 db_test 中创建一个存储过程,用于实现给定表 content 中一个留言人的姓名即可修改表content 中该留言人的电子邮件地址为一个给定的值。(分数:2.00)_6.请使用 SELECT INTOOUTF
3、ILE 语句,备份数据库 dbtest 中表 content 的全部数据到 C 盘的 BACKUP目录下一个名为 backupcontent.txI 的文件中,要求字段值如果是字符则用双引号标注,字段值之间用逗号隔开,每行以问号为结束标志。(分数:2.00)_三、填空题(总题数:7,分数:14.00)7.创建普通索引时,通常使用的关键字是 1 或 KEY。(分数:2.00)填空项 1:_8.创建唯一性索引时,通常使用的关键字是 1。(分数:2.00)填空项 1:_9.在 MySQL 中可以使用 1 语句创建视图。(分数:2.00)填空项 1:_10.在 MySQL 中,可以使用 1 语句删除视
4、图。(分数:2.00)填空项 1:_11.MysQL 支持关系模型中 1、 2 和 3 三种不同的完整性约柬。(分数:2.00)填空项 1:_12.在实际使用中,MySQI。所支持的触发器有 1 、 2 和 3 三种。(分数:2.00)填空项 1:_13.在 MySQL 中,可以使用 1 语句来为指定数据库添加用户。(分数:2.00)填空项 1:_四、简答题(总题数:12,分数:24.00)14.请解释什么是事件?(分数:2.00)_15.请简述事件的作用。(分数:2.00)_16.请简述事件与触发器的区别。(分数:2.00)_17.请解释什么是存储过程?(分数:2.00)_18.请简述游标在
5、存储过程中的作用。(分数:2.00)_19.请简述存储过程与存储函数的区别。(分数:2.00)_20.MySQL 数据库备份与恢复的常用方法有哪些?(分数:2.00)_21.使用直接复制方法实现数据库备份与恢复时,需要注意哪些事项?(分数:2.00)_22.二进制日志文件的用途是什么?(分数:2.00)_23.请简述 PHP 是什么类型的语言?(分数:2.00)_24.请解释嵌入在 HTML 文档中的 PHP 脚本用什么标记符进行标记?(分数:2.00)_25.请简述使用 PHP 进行 MySQL 数据库编程的基本步骤。(分数:2.00)_数据库程序设计-试卷 1 答案解析(总分:50.00,
6、做题时间:90 分钟)一、单项选择题(总题数:1,分数:2.00)1.不可对视图执行的操作有 _ 。(分数:2.00)A.SELECTB.INSERTC.DELETED.CREATE INDEX 解析:二、基本操作题(总题数:5,分数:10.00)2.请用 CREATE INDEX 语句在数据库 db_test 的表 content 中,根据留言标题列的前三个字符采用默认的索引类型创建一个升序索引 indexsubject。(分数:2.00)_正确答案:(正确答案:在 MySQL 命令行客户端输入如下 SQL 语句即可实现: mysqlUSE dbtest; Database changed
7、mysqlCREATE INDEX indexsubject - ON content(subject(3)ASC); Query OK,0 rows affected(044 sec) Records:O Duplicates:0 Warnings:0)解析:3.在数据库 dbtest 的表 content 中创建一个触发器 contentdeletetrisger,用于每次当删除表content 中一行数据时。将用户变量 8tr 的值设置为“old content deleted!”。(分数:2.00)_正确答案:(正确答案:在 MySQL 命令行客户端输入如下 SQL 语句即可实现: m
8、ysqlUSE dbtest; Database changed mysqlCREATE TRIGGER content_delete_trigger AFTER DELETE - ON content FOR EACH ROW SET8tr=old content deleted!; Query OK,0 rows affected(259 flec)解析:4.在数据库 db_test 中创建一个事件,用于每个月将表 content 中姓名为“MySQL 初学者”的留育人所发的全部留言信息删除。该事件开始于下个月并且在 2013 年 12 月 31 日结束。(分数:2.00)_正确答案:(正
9、确答案:在 MySQL 命令行客户端输入如下 SQL 语句即可实现: mysqlUSE dbtest; Database changed mysqlDELIMITER$ mysqlCREATE EVENT IF NOT EXISTS eventdeletecontent - ON SCHEDULE EVERY l MONTH - STARTS CURDATE()+INTERVAL 1 MONTH - ENDS20131231 -DO - BEGIN - IF YEAR(CURDATE()DELETE FROM content - WHERE usernflme-MySQL 初学者; - END
10、 IF: - END$ Query OK,0 rOW8 affected(235$ec)解析:5.在数据库 db_test 中创建一个存储过程,用于实现给定表 content 中一个留言人的姓名即可修改表content 中该留言人的电子邮件地址为一个给定的值。(分数:2.00)_正确答案:(正确答案:在 MySQL 命令行客户端输入如下 SQL 语句即可实现: mysqlUSE dbtest; Database changed mysqlDELIMITER$ mysqlCREATE PROCEDURE 8pupdateemail(IN u1er name VARCHAR(50),IN e ma
11、il VARCHAR(50) -BEGIN - UPDATE content SET email=e mail WHERE username=user_name; -END$ Query OK,0 rows affected(006 flec)解析:6.请使用 SELECT INTOOUTFILE 语句,备份数据库 dbtest 中表 content 的全部数据到 C 盘的 BACKUP目录下一个名为 backupcontent.txI 的文件中,要求字段值如果是字符则用双引号标注,字段值之间用逗号隔开,每行以问号为结束标志。(分数:2.00)_正确答案:(正确答案:在 MySQL 命令行客户
12、端输入如下 SQL语句即可实现: mysqlUSE db_test: Database changed mysqlSELECT*FROM content -INTO OUTFILEC:BACKUPbackupcontenttxt -FIELDS TERMINATED BY。 -OPTIONALLY ENCLOSED BY” -LINES TERMINATED BY?: Query OK,1 row affected(00l sec)解析:三、填空题(总题数:7,分数:14.00)7.创建普通索引时,通常使用的关键字是 1 或 KEY。(分数:2.00)填空项 1:_ (正确答案:正确答案:IN
13、DEX)解析:8.创建唯一性索引时,通常使用的关键字是 1。(分数:2.00)填空项 1:_ (正确答案:正确答案:UNIQUE)解析:9.在 MySQL 中可以使用 1 语句创建视图。(分数:2.00)填空项 1:_ (正确答案:正确答案:CREATE VIEW)解析:10.在 MySQL 中,可以使用 1 语句删除视图。(分数:2.00)填空项 1:_ (正确答案:正确答案:DROP VlEW)解析:11.MysQL 支持关系模型中 1、 2 和 3 三种不同的完整性约柬。(分数:2.00)填空项 1:_ (正确答案:正确答案:实体完整性参照完整性)解析:12.在实际使用中,MySQI。所
14、支持的触发器有 1 、 2 和 3 三种。(分数:2.00)填空项 1:_ (正确答案:正确答案:INSERT 触发器 DELETE 触发器 UPDATE 触发器)解析:13.在 MySQL 中,可以使用 1 语句来为指定数据库添加用户。(分数:2.00)填空项 1:_ (正确答案:正确答案:CREATE USER)解析:四、简答题(总题数:12,分数:24.00)14.请解释什么是事件?(分数:2.00)_正确答案:(正确答案:事件就是需要在指定的时刻才被执行的某些特定任务,其中这些特定任务通常是一些确定的 SQL 语句。)解析:15.请简述事件的作用。(分数:2.00)_正确答案:(正确答
15、案:事件可以根据需要在指定的时刻被事件调度器调用执行并以此可取代原先只能由操作系统的计划任务来执行的工作。)解析:16.请简述事件与触发器的区别。(分数:2.00)_正确答案:(正确答案:事件和触发器相似,都是在某些事情发生的时候才被启动,因此事件也可称作临时触发器(temporal trig-ger)。其中,事件是基于特定时间周期触发来执行某些任务,而触发器是基于某个表所产生的事件触发的,它们的区别也在于此。)解析:17.请解释什么是存储过程?(分数:2.00)_正确答案:(正确答案:存储过程是一组为了完成某特定功能的 SQL 语句集,其实质上就是一段存放在数据库中的代码,它可以由声明式的
16、SQL 语句(如 CREATE、UPDATE 和 SELECT 等语句)和过程式 SQL 语句(如lFTHENELSE 控制结构语句)组成。)解析:18.请简述游标在存储过程中的作用。(分数:2.00)_正确答案:(正确答案:游标是一个被 SELECT 语句检索出来的结果集。在存储了游标后,应用程序或用户就可以根据需要滚动或浏览其中的数据。)解析:19.请简述存储过程与存储函数的区别。(分数:2.00)_正确答案:(正确答案:存储函数与存储过程之间存在这样几点区别: (1)存储函数不能拥有输出参数,这是因为存储函数自身就是输出参数;而存储过程可以拥有输出参数。 (2)可以直接对存储函数进行调用
17、,且不需要使用 CALL语句;而对存储过程的调用,需要使用 CALL 语句。 (3)存储函数中必须包含一条RETURN 语句,而这条特殊的 SQl。语句不允许包含于存储过程中。)解析:20.MySQL 数据库备份与恢复的常用方法有哪些?(分数:2.00)_正确答案:(正确答案:MySQL 数据库备份与恢复的常用方法有: (I)使用 SQL 语句备份和恢复表数据 (2)使用 MySQL 客户端实用程序备份和恢复数据 (3)使用 MySQL 图形界面工具备份和恢复数据 (4)直接复制)解析:21.使用直接复制方法实现数据库备份与恢复时,需要注意哪些事项?(分数:2.00)_正确答案:(正确答案:使
18、用直接从一个 MySQL 服务器拷贝文件到另一个服务器的方法,需要特别注意以下两点: (1)两个服务器必须使用相同或兼容的 MySQL 版本。 (2)两个服务器必须硬件结构相同或相似。除非要复制的表使用 MylSAM 存储格式,这是因为这种表可以为在不同的硬件体系中共享数据提供了保证。)解析:22.二进制日志文件的用途是什么?(分数:2.00)_正确答案:(正确答案:由于二进制日志包含了数据备份后进行的所有更新。因此二进制日志的主要目的就是在数据恢复时能够最大可能地更新数据库。)解析:23.请简述 PHP 是什么类型的语言?(分数:2.00)_正确答案:(正确答案:服务端动态脚本语言。)解析:24.请解释嵌入在 HTML 文档中的 PHP 脚本用什么标记符进行标记?(分数:2.00)_正确答案:(正确答案:使用标签“”。)解析:25.请简述使用 PHP 进行 MySQL 数据库编程的基本步骤。(分数:2.00)_正确答案:(正确答案:使用 PHP 进行 MySQL 数据库编程的基本步骤如下: (1)首先建立与 MySQL 数据库服务器的连接。 (2)然后选择要对其进行操作的数据库。 (3)再执行相应的数据库操作,包括对数据的添加、删除、修改和查询等。 (4)最后关闭与 MysQL 数据库服务器的连接。)解析: