基本信息
文件名称:第12章--MySQL触发器与事件调度器.pptx
文件大小:609.76 KB
总页数:31 页
更新时间:2025-04-01
总字数:约3.57千字
文档摘要

数据库原理与应用基础第12章MySQL触发器与事件调度器

第12章MySQL触发器与事件调度器触发器事件知识点小结本章实验

第12章MySQL触发器与事件调度器MySQL数据库管理系统中关于触发器、事件调度器的操作,主要包含触发器和事件的创建、使用、查看和删除。触发器是由事件来触发某个操作,这些事件包括insert语句、update语句和delete语句。当数据库系统执行这些事件时,就会激活触发器执行相应的操作。本章将介绍触发器的含义、作用,创建触发器、查看触发器和刪除触发器的方法,以及各种事件的触发器的执行情况。

第12章MySQL触发器与事件调度器事件调度器(eventscheduler),可以用做定时执行某些特定任务(例如:删除记录、对数据进行汇总等等),来取代原先只能由操作系统的计划任务来执行的工作。

第12章MySQL触发器与事件调度器触发器事件知识点小结本章实验

触发器概念创建使用触发器查看触发器删除触发器对触发器的进一步说明

概念触发器是一种特殊的存储过程,它在插入,删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。

概念触发器具有以下的作用:安全性审计实现复杂的数据完整性规则实现复杂的非标准的数据库相关完整性规则

触发器概念创建使用触发器查看触发器删除触发器对触发器的进一步说明

创建使用触发器触发程序是与表有关的命名数据库对象,当表上出现特定事件时,将激活该对象。在MySQL中,创建触发器的基本形式如下:注:触发程序与命名为tbl_name的表相关。tbl_name必须引用永久性表。不能将触发程序与temporary表或视图关联起来。trigger_time是触发程序的动作时间,它可以是before或after。trigger_event指明了激活触发程序的语句的类型,可以是insert,update或是delete。createtriggertrigger_nametrigger_timetrigger_eventontbl_nameforeachrowtrigger_stmt

触发器概念创建使用触发器查看触发器删除触发器对触发器的进一步说明

查看触发器可以通过执行以下命令执行命令查看触发器的状态、语法等信息,但是因为不能查看指定的触发器,所以每次否返回所有的触发器信息,使用起来不是很方便。showtriggers另一种方法是查询系统表information_schema.triggers表,这个方式可以查询指定触发器的指定信息,操作起来明显方便得多。

触发器概念创建使用触发器查看触发器删除触发器对触发器的进一步说明

删除触发器语法的基本形式如下:注:数据库(schema_name)是可选的。如果省略了schema,将从当前数据库中删除触发程序。droptrigger[schema_name.]trigger_name触发程序

触发器概念创建使用触发器查看触发器删除触发器对触发器的进一步说明

对触发器的进一步说明触发器不能调用将数据返回客户端的存储过程,也不能使用采用call语句的动态sql。触发器不能使用以显式或隐式方式开始或结束事务的语句,如starttransaction、commit或rollback。需要注意以下两点:(1)MySQL触发器针对行来操作,当处理大数据集的时候可能 效率很低。(2)触发器不能保证原子性,例如在myisam中,当一个更新 触发器在更新一个表后,触发对另外一个表的更新,若触 发器失败,不会回滚第一个表的更新。

第12章MySQL触发器与事件调度器触发器事件知识点小结本章实验

事件事件概念创建事件修改事件删除事件

事件概念事件调度器有时也可称为临时触发器(temporaltriggers),它可以用做定时执行某些特定任务(例如:删除记录、对数据进行汇总等等),来取代原先只能由操作系统的计划任务来执行的工作。因为事件调度器是基于特定时间周期触发来执行某些任务,而触发器(triggers)是基于某个表所产生的事件触发的,区别也就在这里。

事件事件概念创建事件修改事件删除事件

创建事件语法的基本形式如下:createeventevent_nameonscheduleschedule