mysql 触发器trigeer_MYSQL之触发器(Trigger)操作

一、触发器(Trigger)定义

触发器(Trigger)是与表有关的数据库对象,是一种特殊的存储过程,在满足定义条件时触发,并执行触发器中定义的语句集合。

在MySQL中,触发器可以在你执行INSERT、UPDATE或DELETE的时候,执行一些特定的操作。在创建触发器时,可以指定是在执行SQL语句之前或是之后执行这些操作。通过触发器,你可以实现一些业务逻辑或一些数据限制,在简化应用程序逻辑,优化系统性能时非常有用。

二、触发器(Trigger)语法

创建触发器(Trigger)的基本语法如下:

CREATE TRIGGER

{ BEFORE | AFTER }

{ INSERT | UPDATE | DELETE }

ON

FOR EACH ROW

BEGIN

END;触发器名称 -- 触发器名字,最多64个字符,其命令规则和MySQL中其他对象的命名方式类似

{ BEFORE | AFTER } -- 触发器执行时间:可以设置为事件发生前或后

{ INSERT | UPDATE | DELETE } -- 触发事件:可以设置为在执行INSERT、UPDATE、DELETE操作时触发①INSERT型触发器:插入某一行时激活触发器,可能通过INSERT、LOAD DATA、REPLACE 语句触发(LOAD DAT语句用于将一个文件装入到一个数据表中,相当与一系列的INSERT操作);

②UPDATE型触发器:更改某一行时激活触发器,可能通过UPDATE语句触发;

③DELETE型触发器:删除某一行时激活触发器,可能通过DELETE、REPLACE语句触发。表名称 -- 触发器所属表:触发器属于某一个表,当在这个表上执行INSERT、UPDATE、DELETE操作的时就会使触发器触发,一张表的同一个事件只能有一个触发器

FOR EACH ROW -- 触发器的执行间隔:FOR EACH ROW子句通知触发器,每行执行一次动作

触发的SQL语句 -- 事件触发时所要执行的SQL语句

三、列出触发器(TRIGGERS)

可以从 sqlite_master 表中列出所有触发器,如下所示:

SELECT name FROM sqlite_master

WHERE type = 'trigger';

或者通过查看已创建触发器和查看数据库SHOW DATABASES、查看表SHOW TABLES一样。查看触发器的语法如下:

SHOW TRIGGERS [FROM schema_name];

四、删除触发器(TRIGGERS)

下面是 DROP 命令,可用于删除已有的触发器:

DROP TRIGGER [IF EXISTS] [schema_name.]trigger_name;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值