第5章 常见数据库对象

《MySQL高级查询与编程》-T5(常见数据库对象)

一、触发器

1、概念

  • 触发器就是一种特殊的存储过程。触发器和存储过程一样,是一个能够完成特定功能、存储在数据库服务器上的SQL片段,触发器无需调用【当数据表中的数据执行DML操作时字段触发SQL片段执行,无需手动调用】。

  • 在MySQL中,只有执行insert、update、delete操作时才能触发触发器的执行。

2、触发器的使用

【数据表准备】

image-20240224141832855

image-20240224141836359

2.1 创建触发器

image-20240224141949408

【语法】

create trigger 触发器名
触发时机 DML类型 on 表名
for each row
执行的sql语句;

【解释说明】

(1)触发时机:before、after

(2)DML类型:insert、update、delete

(3)NEW :在触发器中⽤于获取insert操作添加的数据、update操作修改后的记录

​ OLD :在触发器中⽤于获取delete操作删除前的数据、update操作修改前的数据

【实例】 创建触发器:当学⽣信息表发⽣添加操作后,则向⽇志信息表中记录一条日志

create trigger tri_test
after insert on student  -- 在执行新增操作后操作student表的数据
for each row -- 声明⾏级触发器(只要操作⼀条记录就触发触发器执⾏⼀次)
insert into stulog 
values(null,now(),concat('添加学号为:',NEW.id,'的学生信息'));
2.2 查看触发器

【命令】

show triggers;
2.3 测试触发器
-- 1个sql语句新增一条数据,日志增加1条
insert into student values('1005','lisi',36);

-- 1个sql语句新增两条数据,日志增加2条
insert into student values('1003','lisa',
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值