mysql学习十八之mysql触发器学习,创建、删除、查看触发器,new,old关键字,多条sql语句下的触发器创建
2019-02-01 13:16
471 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33322074/article/details/86738260
一、什么是触发器?
1、mysql触发器是:在当前的数据库表中设置一个对每行数据的一个监听器,监听相关事件,每当事件发生时。会执行一段由sql完成的一段功能代码。这段功能代码也是sql语句。
2、触发器的元素:
事件,执行代码。
二、创建触发器
[code]create trigger 触发器名字 事件 执行代码;
执行代码就是sql语句或sql语句块。
1、事件内容:
插入:insert 删除:delete 修改:update
事件的时机:执行之前,执行之后。内容和时机组合共有六种事件。
Before insert ,Before delete ,before update ,after insert ,after delete ,after update.
注意:这个时机,是针对其后表的内容的监控。
比如:
[code]create trigger jiaobanfei after update on t_student for each row update t_class set t_class_money=t_class_money+20;
此处的after update on是说t_student表的每一行更新后,就立即更新t_class表中的t_class_money字段。
2、具体语法
删除触发器:
[code]drop trigger 触发器名字;
注意事项:
1、触发器不能同名
2、目前mysql只支持一类事件设置一个触发器。
三、管理触发器
1、查看触发器:
[code]show create trigger trigger_name;
2、在触发器中获取触发该触发程序时的数据。
利用触发程序内的new 和old来完成。
注意:insert中不能使用old,delete中不能使用new。
3、多条sql语句下的触发器
sql语句块用begin end包裹。
整个触发器语句用delimiter包裹。
例如:
[code]delimiter $$ create trigger ruxue after insert on czbk_student for each row begin update class set stu_count=stu_count+1; update class set cz_money=zc_money+2e; end $$ delimiter;
相关文章推荐
- MySQL学习(二)——SQL语句创建删除修改以及中文乱码问题
- mysql创建表,同时加上约束,SQL查看所有表和查看某个表结构;sql删除表
- mysql 创建索引,删除索引的sql语句 【转】
- mysql索引学习----2----创建索引、修改索引、删除索引的命令语句
- MySQL 查看表结构、索引、触发器 的SQL语句
- 笔记:mysql查看表的结构及注释、创建表sql语句方法。
- MySQL学习笔记--触发器的创建与删除及使用注意事项
- Mysql学习1———创建、查看、删除数据库
- MySQL学习笔记2:数据库的基本操作(创建删除查看)
- 我的Php学习笔记(六)Mysql简介和创建新的数据库 常用的SQL语句
- [跟着hsp步步学习系统]oracle培训学习集锦全360度扫描(11)触发器old,new 与行级与语句级及case when
- mysql索引学习----2----创建索引、修改索引、删除索引的命令语句
- mysql 学习疑问: sql语句关键字选项之间的顺序关系???
- linux学习第五十篇:MySQL创建用户以及授权,常用sql语句,MySQL数据库备份恢复
- mysql5.5基础 show create table...\G 查看创建表时候用的SQL语句
- MySQL索引的查看创建和删除学习
- Mysql学习1———创建、查看、删除数据库
- SQLServer--使用T-SQL语句创建视图、删除视图、查看视图
- 【MySQL学习笔记】2:创建/删除/查看数据库,数据表
- ACCESS中用SQL语句创建表,修改,删除表