Mysql日志触发器

文章目录

  • 日志触发器
    • 1.创建数据库
    • 2.使用数据库,并创建数据表t_student
    • 3.往t_student插入五条数据
    • 4.创建日志表
    • 5.创建触发器
    • 6.创建更新触发器
    • 7.创建删除触发器
    • 8.查看创建的触发器
      • 查看触发器的命令语句
    • 9.删除触发器


日志触发器

1.创建数据库

create database test character set utf8 collate utf8_bin;

Mysql日志触发器_第1张图片

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
);

Mysql日志触发器_第2张图片

3.往t_student插入五条数据

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

Mysql日志触发器_第3张图片

4.创建日志表

4.创建日志表
CREATE table log(
id INT PRIMARY KEY auto_increment,
time TIMESTAMP,
operation VARCHAR(10) ,
detail VARCHAR(50)
);

Mysql日志触发器_第4张图片

5.创建触发器

5.创建触发器
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));

Mysql日志触发器_第5张图片

6.创建更新触发器

6创建更新触发器
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, ')'));

Mysql日志触发器_第6张图片

7.创建删除触发器

7.创建删除触发器
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));

Mysql日志触发器_第7张图片

8.查看创建的触发器

查看触发器的命令语句

查看触发器
SHOW TRIGGERS;
查看触发器的命令语句
SHOW CREATE TRIGGER trigger_insert;
查看触发器的命令语句
SHOW CREATE TRIGGER trigger_update;
查看触发器的命令语句
SHOW CREATE TRIGGER trigger_delete;

Mysql日志触发器_第8张图片

9.删除触发器

删除触发器
DROP TRIGGER trigger_insert;
DROP TRIGGER trigger_update;
DROP TRIGGER trigger_delete;

Mysql日志触发器_第9张图片

你可能感兴趣的:(mysql,数据库,database)