第10章 触发器-【千锋教育】MySQL数据库从入门到精通

2023-03-21
| 28页
| 108人阅读
| 0人下载
教辅

内容正文:

触发器概述 第10章 触发器 存储过程的相关操作 触发器概述 触发器的操作 10.2 10.1 ☞点击查看本小节知识架构 ☞点击查看本小节知识架构 小案例 10.3 学习目标 理解 了解 掌握 掌握 理解触发器的概念 1 掌握触发器的使用和删除操作 4 2 了解触发器的优点 3 掌握触发器的创建和插看操作 销售额 掌握知识 理解知识 熟悉知识 了解知识 2.5 2.5 2.5 2.5 10.1 触发器概述 返回目录 10.1.1 触发器的概念及优点 10.1.2 触发器的作用 4 10.1 触发器概述 10.1.1触发器的概念及优点 前面章节学习了MySQL的存储过程,在MySQL中还有一种类似的存在——触发器,它的执行不是由程序调用,也不是手动开启,而是由事件来触发。当对某个表操作时,会自动激活触发器并执行,例如对一个表进行操作(insert、delete、update)时会激活并执行触发器。 触发器是用户定义在关系表上的一类由事件触发的特殊过程。一旦定义,任何用户对表的增、删、改操作均由服务器自动激活相应的触发器。触发器类似于约束,但是比约束灵活,具有更强的数据控制能力。 10.1 触发器概述 10.1.1触发器的概念及优点 触发器的优点如下。 (1)自动执行:触发器在操作表数据时立即被激活。 (2)级联更新:触发器可以通过数据库中的相关表进行层叠更改。 (3)强化约束:触发器可以引用其他表中的列,能够实现比CHECK约束更复杂的约束。 (4)跟踪变化:触发器可以阻止数据库中未经许可的指定更新和变化。 (5)强制业务逻辑:触发器可用于执行管理任务,并强制影响数据库的复杂业务规则。 10.1 触发器概述 10.1.2触发器的作用 触发器是基于行触发的,删除、新增或者修改操作可能会激活触发器,这样会对数据的插入、修改或者删除带来比较严重的影响,同时也会带来可移植性差的后果,因此在设计触发器的时候一定要有所考虑,尽量不要编写过于复杂的触发器,也不要增加过多的触发器。 触发器是一种特殊的存储过程,它在插入、删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细、更复杂的数据控制能力。触发器主要有6个作用,具体如下。 (1)安全性:可以基于数据库使用户具有操作数据库的某种权利,可以基于时间限制用户的操作,例如不允许下班后和节假日修改数据库数据,还可以基于数据库中的数据限制用户的操作,例如不允许某个用户做修改操作。 10.1 触发器概述 10.1.2触发器的作用 (2)审计:可以跟踪用户对数据库的操作,审计用户操作数据库的语句,把用户对数据库的更新写入审计表。 (3)实现复杂的数据完整性规则,实现非标准的数据完整性检查和约束:触发器可产生比规则更复杂的限制。与规则不同,触发器可以引用列或数据库对象,还可以提供可变的默认值。 (4)实现复杂的非标准的数据库相关完整性规则:触发器可以对数据库中的相关的表进行连环更新。 (5)同步实时地复制表中的数据。 (6)自动计算数据值,如果数据的值达到了一定的要求,则进行特定的处理。 10.2 触发器的操作 返回目录 10.2.1 数据准备 10.2.2 创建触发器 10.2.3 查看触发器 10.2.4 使用触发器 10.2.5 删除触发器 9 10.2 触发器的操作 10.2.1 数据准备 在讲解触发器之前需要创建两张数据表(测试表test1和测试表test2)用于后面的例题演示。首先创建测试表test1。 然后创建测试表test2。 至此两张表创建完成,本章后面的演示例题会用到这两张表。 10 10.2 触发器的操作 10.2.2 创建触发器 MySQL中创建触发器的语法格式如下所示。 在以上语法格式中,trigger_name表示触发器名称,由用户自行指定;trigger_time表示触发时机,取值为BEFORE或AFTER;trigger_event表示触发事件,取值为 INSERT、UPDATE或DELETE;tbl_name表示建立触发器的表名,即在哪张表上建立触发器;trigger_stmt表示触发器程序体,可以是一条SQL语句,也可以是BEGIN和END包含的多条语句。由此可以看出一共可以创建6种触发器,即BEFORE INSERT、BEFORE UPDATE、BEFORE DELETE、AFTER INSERT、AFTER UPDATE和AFTER DELETE。此外用户还需注意,不能同时在一个表上建立两个相同类型的触发器,因此在一个表上最多可以建立6个触发器。 11 10.2 触发器的操作 10.2.2 创建触发器 MySQL除了对INSERT、UPDATE、DELETE等基本操作进行定义外,还定义了LOAD DATA和REPLACE语句,这两种语句也能引起

资源预览图

第10章 触发器-【千锋教育】MySQL数据库从入门到精通
1
第10章 触发器-【千锋教育】MySQL数据库从入门到精通
2
第10章 触发器-【千锋教育】MySQL数据库从入门到精通
3
第10章 触发器-【千锋教育】MySQL数据库从入门到精通
4
第10章 触发器-【千锋教育】MySQL数据库从入门到精通
5
第10章 触发器-【千锋教育】MySQL数据库从入门到精通
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。