MySQL数据库---触发器

概念

当我们对一个表进行数据操作时,需要同步对其它的表执行相应的操作时,可以使用到触发器。
触发器(TRIGGER)是由事件来触发某个操作。这些事件包括
三种:INSERT语句、UPDATE语句和DELETE语句。当数据库系统执行这些事件时,就会激活触发器执行相应的操作。

1.创建触发器

(1).创建单表触发器

语句:
create trigger 触发器名 before/after 触发事件 on
表名 for each row 触发后被执行的语句;

解释:
1.参数BEFORE和AFTER指定了触发器执行的时间,前者在触发器事件之前执行触发器语句,后者在触发器事件之后执行触发器语句;
2.,执行触发语句的时候,对于INSERT语句,只有NEW是合法的,表示当前已插入的记录;对于DELETE语句,只有OLD才合法,表示当前删除的记录;而UPDATE语句可以和NEW(更新后)以及OLD(更新前)同时使用。下面实例也会解释。

实例:
创建了一个teams表,里面有队的信息和成员个数,
再创建一个players表,现往players中插入数据,teams表的成员个数相应的增减。

teams表的信息如下,然后创建一个players表,之后创建触发器(解释:在往players表中插入数据后,触发,更新teams表,把插入队员相应的队伍人数加一,new的意思就是队员的队伍id,在触发器中是使用new和old表示,而不是players表示)
在这里插入图片描述
之后插入数据,查看teams表就可以看出触发成功了!
再创建删除触发器。
删除触发器(在players删除队员之后,触发,封信teams表,把删除队员相应的队伍人数减一)
在这里插入图片描述

(2).创建多表触发器

语句:
create trigger 触发器名 before/after 触发事件 on
表名 for each row
begin
触发后被执行的语句
end

(插曲:语句 DELIMITER
用于改变结束语句,后面后演示)
实例:
先删除原来的触发器,防止触发器多个触发(删除讲解在后面)
在这里插入图片描述

之后建立一个球员的工资表,对应四个球员
在这里插入图片描述
再建立一个多表触发器(当队员的信息删除后,球队人数减一,工资表中该成员的工资也删除)

解释触发器,因为多条触发语句要用;分隔,但是;是结束符 所以先用delimiter $$ 把结束符为 $$
,设置完触发器后,再用delimiter ;改回来。

在这里插入图片描述
之后删除一条队员记录,查看队表和工资表,就会发现都有变化
在这里插入图片描述

2.查看触发器

语句:
SHOW TRIGGERS ;

3.删除触发器

语句:
drop trigger 触发器名;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值