考点14 事件与触发器《数据库原理与应用技术-MySQL》河北省(对口招生)计算机类 知识点讲解

2026-08-26
| 7页
| 66人阅读
| 1人下载
精品

内容正文:

河北省(计算机类)对口招生 《数据库原理与应用技术-MySQL》复习讲义 模块4 MySQL数据库编程 考点 14 事件与触发器 【考纲要求】 1.掌握触发器的基本概念与作用,掌握使用SQL 语句创建、删除触发器的操作方法及应用, 掌握触发器的种类及区别,理解触发器的使用及原则; 2. 掌握事件、事件调度器的基本概念与作用,掌握使用 SQL 语句创建、修改、删除事件的 操作方法及应用; 【知识网络】 【知识和技能要点】 一、触发器 1.定义 触发器是绑定在数据表上的特殊存储程序。它不需要手动调用,当表发生指定的增、删、改事件时,会自动触发、自动执行预设的SQL语句。 2.核心特点 (1)触发器依附数据表存在,不能独立存在;删除表则触发器自动失效。 (2)触发器自动执行,无手动调用命令。 (3) 触发器是针对表数据变化触发,不针对查询操作。 3.触发器的作用 (1) 保证数据完整性与一致性:一张表数据变动,自动同步更新关联表数据。 (2)实现数据自动联动:无需人工写SQL,自动完成关联增删改。 (3)数据日志记录:自动记录数据修改、删除、新增操作,实现审计功能。 (4)约束数据合规性:对非法数据操作自动拦截、校验数据。 4.触发器的种类及区别 (1)按触发时机分类 ①BEFORE(前置触发):在数据操作执行之前触发。 作用:用于校验数据、拦截非法操作、修改即将写入的数据。 ②AFTER(后置触发):在数据操作执行完成之后触发。 作用:用于同步关联表数据、记录操作日志。 (2)按触发事件分类 ①INSERT触发器:向表插入数据时触发。 ②UPDATE触发器:修改表数据时触发。 ③DELETE触发器:删除表数据时触发。 (3)新旧数据对象 ①NEW:代表新增/修改后的新数据(适用于INSERT、UPDATE)。 ②OLD:代表修改前/被删除的旧数据(适用于UPDATE、DELETE)。 5.创建触发器 (1)标准语法格式 CREATE TRIGGER 触发器名 触发时机(BEFORE/AFTER) 触发事件(INSERT/UPDATE/DELETE) ON 表名 FOR EACH ROW BEGIN 触发执行的SQL语句; END (2)说明 ①CREATE TRIGGER:创建触发器固定关键字。 ②FOR EACH ROW:行级触发器,每修改一行数据触发一次(MySQL默认、必考)。 ③BEGIN...END:包裹多条执行语句,单条语句可省略。 6.删除触发器 (1)语法格式 DROP TRIGGER 触发器名; (2) 说明 ①删除触发器不会删除数据表和数据,仅删除自动触发规则。 ②删除数据表,该表所有触发器自动删除。 ③触发器禁止嵌套、禁止循环触发,否则会报错。 ④ 触发器内尽量不写复杂SQL,避免降低增删改效率。 ⑤ 查询操作(SELECT)无法触发触发器。 ⑥BEFORE可以拦截非法数据,AFTER只能事后同步数据。 2、 事件 1. 定义 事件(EVENT)是数据库中定时执行的任务,可以在指定时间、周期性自动执行SQL语句,也被称为“定时任务”。 2.事件调度器的作用 (1)定时清理过期数据(自动删除日志、过期记录)。 (2) 定时统计、汇总数据,生成报表数据。 (3)定时备份、更新数据,实现数据库自动化运维。 3.事件调度器开启 MySQL默认关闭事件调度器,使用前必须开启: SET GLOBAL event_scheduler = ON; 4.创建事件 (1)语法格式 CREATE EVENT 事件名 ON SCHEDULE 时间规则 DO 执行的SQL语句; (2)时间使用规则 ①一次性事件:指定某个时刻执行一次 ON SCHEDULE AT '2026-12-31 23:59:59' ②周期性事件:每隔一段时间重复执行 ON SCHEDULE EVERY 1 DAY #每天执行 ON SCHEDULE EVERY 1 HOUR #每小时执行 5.修改事件 (1)关闭事件 ALTER EVENT 事件名 DISABLE; (2)开启事件 ALTER EVENT 事件名 ENABLE; (3)修改执行周期 ALTER EVENT 事件名 ON SCHEDULE EVERY 3 DAY; 6.删除事件 (1)语法格式:DROP EVENT 事件名; 【练习题】 一、填空题 1.________触发器在数据操作执行前触发,可用于校验、拦截非法数据。 2.新增数据的触发器类型是________触发器。 3.删除数据的触发器类型是________触发器。 4.MySQL默认的行级触发器关键字是________。 5.创建触发器的核心语法关键字是________。 6.数据库中可定时自动执行SQL的任务对象是________。 7.开启事件调度器的语句是SET GLOBAL ________ = ON;。 8.修改事件状态和周期的核心关键字是________。 二、选择题 1.下列关于触发器的本质说法正确的是( ) A. 手动调用的查询语句 B. 绑定数据表的特殊存储程序 C. 定时执行的任务 D. 数据索引结构 2.触发器的触发条件不包括以下哪种操作( ) A. INSERT B. UPDATE C. SELECT D. DELETE 3.INSERT触发器中可以使用的新旧数据对象是( ) A. OLD B. NEW C. OLD和NEW D. 均不可用 4.MySQL触发器默认类型为行级触发器,对应的关键字是( ) A. FOR EACH ROW B. EVERY ROW C. ONE ROW D. AUTO ROW 5.创建触发器的核心关键字组合是( ) A. CREATE EVENT B. CREATE TRIGGER C. CREATE VIEW D. CREATE INDEX 6.删除触发器的标准语法是( ) A. DELETE TRIGGER B. DROP TRIGGER C. REMOVE TRIGGER D. CLEAR TRIGGER 7.MySQL事件调度器默认状态是( ) A. 开启 B. 关闭 C. 半开启 D. 随机状态 8.用于关闭已有事件的语法是( ) A. ALTER EVENT 事件名 DISABLE; B. DROP EVENT 事件名; C. CLOSE EVENT 事件名; D. STOP EVENT 事件名; 9.用于开启已关闭事件的语法是( ) A. OPEN EVENT 事件名; B. ALTER EVENT 事件名 ENABLE; C. START EVENT 事件名; D. RUN EVENT 事件名; 10.触发器与事件的核心区别是( ) A. 触发器自动执行,事件手动执行 B. 触发器数据驱动,事件时间驱动 C. 触发器独立存在,事件依附表 D. 事件可校验数据,触发器不可 3、 判断题 1.触发器是绑定在数据表上的特殊存储程序,无需手动调用。() 2.对数据表执行SELECT查询操作时,触发器会自动触发。() 3.删除数据表后,该表对应的所有触发器会自动失效并删除。() 4.AFTER触发器可以用于校验和拦截非法数据操作。() 5.FOR EACH ROW 代表行级触发器,每行数据变动触发一次。() 6.触发器内部编写复杂SQL语句,会降低数据表增删改效率。() 7.事件可以实现定时清理过期数据、自动统计数据。() 8.事件依赖数据表存在,删除表会自动删除事件。() 9.触发器是时间驱动执行,事件是数据变动驱动执行。() 10.MySQL默认开启事件调度器,无需手动配置。() 四、程序填空题 1.创建触发器 tri_stu_insert,当向 student 表新增学生数据后,自动在 stu_log 表中记录:学生姓名、操作行为为“新增学生”。 CREATE __(1)______ tri_stu_insert AFTER ___(2)_____ ON student FOR EACH ROW BEGIN INSERT INTO stu_log(stu_name,operate) VALUES(NEW.name,'新增学生'); END 2.创建周期事件 event_clear_day,每天自动清空 temp_data 过期临时数据。 CREATE __(1)______event_clear_day ON SCHEDULE ___(2)___DO TRUNCATE TABLE temp_data; 【答案】 一、填空题 1. BEFORE(前置) 2.INSERT 3. DELETE 4. FOR EACH ROW 5.CREATE TRIGGER 6. 事件 7. event_scheduler 8. ALTER EVENT 二、选择题 1. B 2. C 3. B 4. A 5.B 6. B 7. B 8. A 9. B 10. B 三、判断题 1. √ 2. × 3. √ 4. × 5. √ 6. √ 7. √ 8. × 9. × 10. × 4、 程序填空题 1. (1)TRIGGER (2)INSERT 2. (1)EVENT (2)EVERY 1 DAY 原创精品资源学科网独家享有版权,侵权必究 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

考点14 事件与触发器《数据库原理与应用技术-MySQL》河北省(对口招生)计算机类 知识点讲解
1
考点14 事件与触发器《数据库原理与应用技术-MySQL》河北省(对口招生)计算机类 知识点讲解
2
考点14 事件与触发器《数据库原理与应用技术-MySQL》河北省(对口招生)计算机类 知识点讲解
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。