当前课程知识点:MySQL数据库案例教程 > 第5章 高级操作 > 5.5 触发器 > 5-5触发器视频
同学们好
我们今天继续学习第五章的内容
触发器
在本节中我们首先介绍触发器的概念
然后对其语法进行讲解
最后是案例分析与实践操作
在本教材所给的案例中我们知道
score表是用来存放学生的成绩的
在现实中
学生的成绩应该是安全等级是很高的
因此呢
我们不希望学生的成绩被改来改去
当成绩表的内容发生变化时
我们希望数据库
可以自动的记录
是谁对成绩表进行了什么样的操作
触发器呢就能完成这一工作
触发器
它是一种与表操作相关的数据库对象
当触发器所在的表上出现指定的事件时
触发器便会自动的执行
触发器除了完成我们上面说的审计的任务外
还可完成其它多样的工作
比如安全性
触发器呢可以基于数据库的某些值
使用户具有操作数据库的某种权利
还有呢就是实现
复杂的非标准的数据库相关完整性的规则
触发器可以对数据库中
相关的表格进行连环的更新
还有的是触发器
能够拒绝或者退回那些破坏数据完整性的变化
取消那些试图更改数据的一些事务
触发器还可以实现同步的复制数据库中的数据
它还可以自动的计算数据的值
比如说如果数据它的值达到了一定的要求
则进行特定的处理
下面呢我们来学习触发器的相关语法
我们可以看一下触发器的语法
create trigger
加上后面一些内容
这与我们之前讲的
存储过程或者函数是类似的
其中我们需要注意的是什么呢?
触发器的时间包括before和after
before的含义
是在触发事件发生前运行触发器
after的呢
它的含义是
在触发事件发生之后运行触发器
触发事件包括insert
update和delete三种
触发时间与触发事件组合
就得到了六种触发器的类型
此外
语法中还包含了其它的一些关键字
需要大家注意
for each row
它的含义是每当一行数据受到影响的时候
就执行一次触发器
OLD与NEW用来标记被更改前的数据
与被更改后的数据
删除触发器的语法为
drop trigger
查询触发器的语法为
show triggers
下面我们通过两个案例
来演示一下触发器的创建与使用
【案例1】
创建一个触发器
当对score表执行插入操作后
将执行该操作的用户名录入 logscore表中
logscore表包含两列参数
参数如下
通过案例的描述我们知道
触发器为AFTER INSERT 类型
我们首先需要创建logscore这个表格
用来记录用户名
触发器的程序体执行的内容是
得到当前的用户名并且插入到
logscore这个表中
我们来看具体操作
首先是更改分隔符
然后是创建触发器的关键字
create trigger 和触发器的名称
接着是触发器的类型
本案例中触发器的类型为after insert
此触发器存在在score表中
而且每当有一行数据被修改
就运行一次触发器
然后是begin end以及其中的程序体
在验证触发器的过程中
我们首先需要向触发器所在的score表中
使用insert语句插入一行数据
然后我们在查询logtable表
是否已经记录了该数据
【案例2】
创建一个触发器
当course表的cno列执行修改后
将score表中的cno列同时进行修改
以保证数据的一致性
通过案例的描述可知
触发器为AFTER UPDATE 类型
由于我们需要用到更新前与更新后的数据
因此呢
我们在这里需要使用OLD与NEW变量
触发器程序体的执行
是根据OLD变量定位表score中的行
并更新为NEW变量
我们来看具体操作
在本小节中
我们首先介绍了触发器的相关概念
然后我们对触发器的语法进行了讲解
需要大家注意的是六种触发器的类型
与OLD/NEW变量的概念
最后我们通过两个案例
讲解了触发器的创建与使用
本次课就讲到这里
谢谢
再见
-1.1 数据库基础知识
-1.2 MySQL的安装与运行
-第1章 测试
-2.1 数据库的基本操作
-2.2 表的基本操作
-2.3 MySQL数据类型
-2.4 约束设置
-2.5 索引
--2-5索引视频
--2-5索引课件
--2-5索引实训
-第2章测试
-3.1 插入记录
-3.2 修改记录
-3.3 删除记录
--3.3删除记录
-第3章 测试
-4.1 select语句
-4.2 单表查询
-4.3 多表查询
-4.4 子查询
--4-4子查询课件
--4-4子查询实训
-4.5 外键
--4-5外键视频
--4-5外键课件
--4-5外键实训
-4.6 视图
--4-6视图视频1
--4-6视图视频2
--4-6视图课件
--4-6视图实训
-第4章测试
-5.1 函数
--5-1系统函数
--5-1函数课件
--5-1 函数实训
-5.2 流程控制语句
-5.3 事务与游标
-5.4 存储过程
-5.5 触发器
--5-5触发器视频
--5-5触发器课件
--5-5触发器实训
-第5章测试
-6.1 数据库备份与还原
-6.2 异构数据源导入导出
-第6章测试
-7.1 用户管理
-7.2 权限管理
-7.3 应用实例开发
-第7章测试