mysql日志触发器

1.创建数据库


create database test character set utf8 collate utf8_bin;

2.使用数据库,并创建数据表t_student

2.使用数据库
use test;
3.创建数据表t_student 记录id,name ,gender ,age
CREATE table t_student(
id INT(4) PRIMARY KEY,
name VARCHAR(4) not NULL,
gender VARCHAR(2) DEFAULT '男',
age VARCHAR(2) not NULL
);

2.使用数据库
use test;
3.创建数据表t_student 记录id,name ,gender ,age
CREATE table t_student(
id INT(4) PRIMARY KEY,
name VARCHAR(4) not NULL,
gender VARCHAR(2) DEFAULT '男',
age VARCHAR(2) not NULL
);
1
2
3
4
5
6
7
8
9
3.忘t_student插入五条数据


5.往t_student里插入五条记录
INSERT INTO t_student(id,name,gender,age) VALUES (1,'王老六','男',25),
(2,'王老五','男',24),
(3,'王老四','男',23),
(4,'王老三','男',22),
(5,'王老二','男',21);

1
2
3
4
5
6
7
4.创建日志表


6.创建日志表
CREATE table log(
id INT PRIMARY KEY auto_increment,
time TIMESTAMP,
operation VARCHAR(10) ,
detail VARCHAR(50)
);
1
2
3
4
5
6
7
5.创建触发器


7.创建触发器
CREATE TRIGGER trigger_insert
    AFTER INSERT on t_student FOR each row
    INSERT INTO log (time,operation,detail)
            VALUES (NOW(), 'INSERT', CONCAT('新记录:',NEW.id,NEW.name,NEW.gender,NEW.age));
1
2
3
4
5
8.创建更新触发器


8.创建更新触发器
CREATE TRIGGER trigger_update 
        AFTER UPDATE ON t_student FOR EACH ROW
        INSERT INTO log ( time, operation, detail)
        VALUES (NOW(), 'UPDATE', CONCAT('(',
                OLD.id, OLD.NAME, OLD.gender, OLD.age, ')',
                '->', '(', NEW.id, NEW.name, NEW.gender, NEW.age, ')'));
1
2
3
4
5
6
7
9.创建删除触发器


9.创建删除触发器
CREATE TRIGGER trigger_delete 
        AFTER DELETE ON t_student FOR EACH ROW
        INSERT INTO log ( time, operation, detail)
                VALUES (NOW(), 'DELETE', CONCAT('旧记录:',old.id,old.name,old.gender,old.age));
1
2
3
4
5
10.查看创建的触发器
(1).查看触发器


SHOW TRIGGERS;
1
(1).查看触发器的命令语句

11.查看触发器的命令语句
SHOW CREATE TRIGGER trigger_insert;
1
2
12.查看触发器的命令语句
SHOW CREATE TRIGGER trigger_update;
1
2
13.查看触发器的命令语句
SHOW CREATE TRIGGER trigger_delete;
1
2
11.测试插入触发器
1.插入一条数据


14.测试触发器
INSERT INTO t_student(id,name,gender,age) VALUES (6,'王经','男',25);
1
2
查看触发表

2.更新数据


UPDATE t_student set name = '王老七', gender='男',age=21 WHERE id=6;
1
查看数据表

3.删除数据

删除
DELETE FROM t_student WHERE id=6;
1
2
12.删除触发器


删除触发器
DROP TRIGGER trigger_insert;
DROP TRIGGER trigger_update;
DROP TRIGGER trigger_delete;
————————————————
版权声明:本文为CSDN博主「这个名字我想了一天」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_59020329/article/details/124800920

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值