day06 MySQL数据库提升篇-----触发器
一、触发器概述:
触发器是什么?能有什么作用?能给我们带来什么样的操作数据库的方法这都在这里学一一的告诉大家。触发器原理类似于扳机的原理,当你一点击触发的时候就会产生相应的后续动作。下面就具体的创建和使用一下触发器。
二、触发器(trigger):
1、创建触发器
create trigger 触发器名 before | after 触发事件
on 表名 for each row
begin
执行语句;
end;
译:
before | after:表示触发器执行的时间,前者是表示触发前执行,
后者是表示触发时间之后执行
触发事件:触发事件代表“insert”、“update”、“delete”三种操作
表名:指定的触发时间操作的表的名称
for each row :表示任何一条记录上的操作满足触发器事件都会触发该触发器
begin ... end:表示开始到结束标签。
执行语句:表示触发器被触发以后执行的程序。
实例一:
创建一个响应delete操作的触发器
create trigger dlt after delete
on student for echo row
begin
delete username from student;
end;
译:
创建的触发器名:dlt
触发器执行时间:after
事件名:删除操作(delete)
表名:student
执行语句:从begin.....end之间的删除语句。
2、创建多个执行语句的触发器
create trigger 触发器名 before | after 触发事件
on 表名 for each row
begin
执行语句1;
执行语句2;
执行语句3;
end;
译:
before | after:表示触发器执行的时间,前者是表示触发前执行,
后者是表示触发时间之后执行
触发事件:触发事件代表“insert”、“update”、“delete”三种操作
表名:指定的触发时间操作的表的名称
for each row :表示任何一条记录上的操作满足触发器事件都会触发该触发器
begin ... end:表示开始到结束标签。
执行语句1:表示触发器被触发以后执行的程序1。
执行语句2:表示触发器被触发以后执行的程序2。
执行语句3:表示触发器被触发以后执行的程序3。
实例二:
创建一个响应delete操作的多个触发器
create trigger dlt after delete
on student for echo row
begin
insert into timelog(savetime) values(new());
insert into timeinfo(info) values('deleteact');
end;
译:
创建的触发器名:dlt
触发器执行时间:after
事件名:删除操作(delete)
表名:student
执行语句体:从begin.....end之间的删除语句。
3、查看触发器
show trigger;
3.1、查看trigger表中触发器信息
select * from infomation_schema.trigger;
译:
infomation_schema:是MySQL中默认存在的数据库,用于记录触发器信息的数据表
3.2、方法二查看
select * from infomation_schema.trigger where trigger_name='触发器名称';
4、应用触发器
触发器的应用就是在你创建成功以后,单独的向表中执行相应的sql语句操作。通过查询去看看你执行的sql语句是否成功。查看timeinfo数据表的插入情况好而被首先执行的顺序。
5、删除触发器
drop trigger 触发器名称;
三、结束语:
学到这里,我们的触发器就学完了,我们可以利用触发器进行数据的备份效果,当你删除某一条数据的时候,我将这条数据新建存储到另外的一张表中。这些都可以通过触发器实现的。想很好的操作触发器就不断的去实验和运用。
亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。