单元8 8.1 MYSQL触发器-高二《MySQL数据库应用开发》同步精品课堂(电工版2023)

2023-05-09
| 20页
| 106人阅读
| 1人下载
精品

内容正文:

MySQL数据库应用开发 任务8.1 MySQL触发器 任务8.1 MySQL触发器 触发器的概念、触发器与存储过程的区别 触发器的操作 知识点小结 本节实验 任务8.1 MySQL触发器 能力目标 1.掌握触发器的概念、触发器和存储过程的区别(重点); 2.掌握触发器的创建与使用(难点)。 思政目标 1.培养学生的爱国思想; 2.培养学生敢于质疑,大胆创新精神。 复习 存储过程 函数 任务8.1 MySQL触发器 触发器是由事件来触发某个操作,这些事件包括insert语句、update语句和delete语句。当数据库系统执行这些事件时,就会激活触发器执行相应的操作。 触发器是一种特殊的存储过程,它不带任何的输入输出参数,不能被显式调用。触发器与特定的MySQL对象(如表)相关联,在这些对象的指定操作发生时,服务器自动执行该触发器。 触发器 概念 创建使用触发器 查看触发器 删除触发器 对触发器的进一步说明 概念 触发器是一种特殊的存储过程,它在插入,删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。 概念 触发器具有以下的作用: 安全性 审计 实现复杂的数据完整性规则 实现复杂的非标准的数据库相关完整性规则 触发器 概念 创建使用触发器 查看触发器 删除触发器 对触发器的进一步说明 创建触发器 触发程序是与表有关的命名数据库对象,当表上出现特定事件时,将激活该对象。在MySQL中,创建触发器的基本形式如下: CREATE TRIGGER 触发器名 { BEFORE | AFTER} { [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] } ON 表名 | 视图名 FOR EACH ROW BEGIN SQL_语句 [ ...n ] END 说明: 在触发器中有两个临时表NEW、OLD可以访问。OLD表用于存储被DELETE 或UPDATE 语句删除或更新前的行的副本;NEW表用于存储被INSERT或UPDATE语句插入或更新后的行的副本。即旧行被复制到OLD表中,新行被复制到NEW表中。例如: 创建触发器 create trigger 更改班级 after update on student for each row begin update class set classnum=classnum-1 where class.classname=OLD.Sclass; update class set classnum=classnum+1 where class.classname=NEW.Sclass; end 案例: 对学生表创建插入触发器,当有一条新的记录插入表中,就更新班级表中相应班级的人数。 分析: 1.对哪个表创建插入触发器? 2.是before还是after? 3.更新语句怎样写? 创建触发器 触发器 概念 创建使用触发器 查看触发器 删除触发器 对触发器的进一步说明 查看触发器 可以通过执行以下命令执行命令查看触发器的状态、语法等信息,但是因为不能查看指定的触发器,所以每次否返回所有的触发器信息,使用起来不是很方便。 show triggers 另一种方法是查询系统表information_schema.triggers表,这个方式可以查询指定触发器的指定信息,操作起来明显方便得多。 触发器 概念 创建使用触发器 查看触发器 删除触发器 对触发器的进一步说明 删除触发器 语法的基本形式如下: 注:数据库(schema_name)是可选的。如果省略了schema,将从当前数据库中删除触发程序。 drop trigger [schema_name.]trigger_name触发程序 触发器 概念 创建使用触发器 查看触发器 删除触发器 对触发器的进一步说明 对触发器的进一步说明 触发器不能调用将数据返回客户端的存储过程,也不能使用采用call语句的动态sql。 触发器不能使用以显式或隐式方式开始或结束事务的语句,如start transaction、commit或rollback。 需要注意以下两点: (1)MySQL触发器针对行来操作,当处理大数据集的时候可能 效率很低。 (2)触发器不能保证原子性,例如在myisam中,当一个更新

资源预览图

单元8 8.1 MYSQL触发器-高二《MySQL数据库应用开发》同步精品课堂(电工版2023)
1
单元8 8.1 MYSQL触发器-高二《MySQL数据库应用开发》同步精品课堂(电工版2023)
2
单元8 8.1 MYSQL触发器-高二《MySQL数据库应用开发》同步精品课堂(电工版2023)
3
单元8 8.1 MYSQL触发器-高二《MySQL数据库应用开发》同步精品课堂(电工版2023)
4
单元8 8.1 MYSQL触发器-高二《MySQL数据库应用开发》同步精品课堂(电工版2023)
5
单元8 8.1 MYSQL触发器-高二《MySQL数据库应用开发》同步精品课堂(电工版2023)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。