| 您的当前位置:首页 --> MYSQL教程 --> MySQL 触发器的基础操作(六) |
| MYSQL教程 MySQL 触发器的基础操作(六) |
| 浏览次数:721 关键词 ( ) |
| 查看使用该CPU的产品 查看CPU天梯 |
| CPU型号:MySQL 触发器的基础操作(六) |
| 主频:Ghz |
| 睿频:Ghz |
| 核心数:个 |
| 不支持超核心 |
| 制作工艺: |
| 插槽类型: |
| 功耗:0W |
| L3缓存:0MB |
| 支持最大内存: 0GB |
| CPU详细参数 |
|
1.为什么使用触发器: 在MySQL数据库中,数据库对象表是存储和操作数据的逻辑结构,而数据库对象触发器则用来实现由一些表事件触发的某个操作。在数据库系统中,当执行表事件时,则会激活触发器,从而执行器包含的操作。触发器的操作包含创建、查看、删除。 触发器是数据库对象之一,该对象与编程语言 中的函数非常类似,都需要声明、执行等。但是触发器的执行不是由程序调用,也不是由手工启动,而是由事件来触发、激活从而实现执行。例如:在学生表中有学生名字、学生总数字段,每当添加一条学生记录时,学生的总数就必须同时改变。对于这个实例可以创建一个触发器,每次添加一条学生记录时,就执行一次计算学生总数的操作,这样就可保证每次添加一条学生记录后,学生总数和学生记录数一致。MySQL中在触发如下DELETE、INSERT、UPDATE语句时,就会自动执行所设置的操作,其他SQL语句则不会激活触发器。之所以会经常使用触发器,是因为该对象能够加强数据库表中数据的完整性约束和业务规则等。 2.创建触发器: 2.1 创建有一条执行语句的触发器: 语法形式为:
create trigger trigger_name
before | after trigger_event
on table_name for each row trigger_stmt
//trigger_name 参数表示索要创建的触发器的名字,触发器的名字不能重复。建议触发器的命名为trigger_xxx或者tri_xxx; 示例:
create trigger tri_diaryteim
before insert on t_dept for each row
insert into t_diary values(null,'t_dept',now());
//功能说明:向部门表插入一条记录之前向表t_diary插入当前时间记录。
2.2 创建包含多条执行语句的触发器: 语法形式如下:
create trigger trigger_name
before|after trigger_event
on table_name for each row
begin
trigger_stmt
end
//比“只有一条执行语句的触发器”语法多了两个关键字begin和end,在这两个关键字之间是所要执行的多个执行语句的内容,执行语句之间用分号隔开。 示例:
DELIMITER $$
create trigger tri_diarytime2
after insert
on t_dept for each row
begin
insert into t_diary values(null,'t_dept',now());
insert into t_diary values(null,'t_dept',now());
end
$$
DELIMITER;
3.查看触发器: 3.1 通过SHOW TRIGGERS语句查看触发器: 语法为: 3.2 通过查看系统表triggers实现查看触发器: 操作语句为; use information_schema; select * from triggers \G select * from triggers where trigger_name='tri_diarytime2' \G //查看指定触发器 3.删除触发器: 语法为: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持80vps。 |
| 下一个产品 SQL计算timestamp的差值的方法 上一个产品 CentOS7.2虚拟机上安装MySQL 5.6.32的教程 |