文章目录
一、提出任务
(一)创建数据库
创建test
数据库,字符编码采用utf8mb4
(二)创建学生表
创建t_student
表,包含id
、name
、gender
、age
,插入至少5条记录
(三)创建日志表
创建t_log
表,包含id
、time
、operation
、detail
1、time字段
timestamp
类型
2、operation字段
只能取 INSERT、UPDATE、DELETE三种值
3、detail字段
如果是INSERT
操作,显示新的记录内容
如果是UPDATE
操作,显示旧记录->新记录
如果是DELETE
操作,显示删除的记录内容
(四)创建触发器
三个触发器:trigger_insert
、trigger_update
、trigger_delete
(五)测试触发器
对表进行增删改操作,触发上述三种触发器
检查在日志数据表是否增加了几条操作记录
(六)删除触发器
删除trigger_insert
、trigger_update
、trigger_delete
三个触发器
二、涉及知识点
(一)创建触发器
1、语法格式
CREATE TRIGGER trigger_name trigger_time trigger_event ON tb_name FOR EACH ROW trigger_body;
2、参数说明
trigger_name:触发器的名称
trigger_time:触发时机,为BEFORE
或者AFTER
trigger_event:触发事件,INSERT、DELETE
或UPDATE
tb_name:表示建立触发器的表名,就是在哪张表上建立触发器
FOR EACH ROW:代表任何记录执行对应操作都会触发器(行级触发器,不写就是表级触发器)
trigger_body:触发器的程序体,可以是一条SQL
语句或用BEGIN
和END
包含的多条语句
(二)查看触发器
1、查看全部触发器
SHOW TRIGGERS;
2、查看触发器创建语句
SHOW CREATE TRIGGER trigger_name;
(三)删除触发器
1、语法格式
DROP TRIGGER trigger_name;
2、参数说明
trigger_name:触发器的名称
三、完成任务
(一)创建数据库
创建test
数据库,编码采用utf8mb4
,执行命令:CREATE DATABASE test CHARSET='utf8mb4';
查看生成的数据库test
(二)创建学生表
打开test数据库,执行命令:USE test;
在test数据库里创建student表,执行语句:CREATE TABLE student(id INT PRIMARY KEY