mysql基础之触发器的简单使用

1.建立学生信息表

sql 复制代码
-- 触发器
-- 建立学生信息表
create table s1(
                   id int unsigned auto_increment,
                   name varchar(30),
                   score tinyint unsigned,
                   dept varchar(50),
                   primary key(id)
);

2.建立学生补考信息表

sql 复制代码
-- 建立学生补考信息表
create table s2 like s1;

3.建立触发器(一共建立了三个触发器)

sql 复制代码
-- 建立触发器
-- 插入触发器
delimiter //
create trigger t1 after insert on s1 for each row
begin
    if NEW.score<60 then
        insert into s2 values(new.id,new.name,new.score,new.dept);
    end if;
end//
delimiter ;
-- 删除触发器
delimiter //
create trigger t2 after delete on s1 for each row
begin
    delete from s2 where old.id = id;
end//
delimiter ;
-- 更新触发器
delimiter //
create trigger t3 after update on s1 for each row
begin
    if new.score < 60 then
        replace into s2 value(new.id,new.name,new.score,new.dept);
    else
        delete from s2 where id = new.id;
    end if;
end//
delimiter ;

4.插入数据

sql 复制代码
-- 插入数据
insert into s1 value(null,'李四',60,'计算机科学');
insert into s1 value(null,'赵六',30,'会计');
insert into s1 value(null,'李四玉',70,'计算机科学');
insert into s1 value(null,'周五',80,'英语');
insert into s1 value(null,'赵强',10,'计算机科学');
insert into s1 value(null,'王七',98,'英语');

5.查询结果

sql 复制代码
select * from s2;
select * from s1;

查询s1表

查询s2表

相关推荐
尚学教辅学习资料3 小时前
SSM从入门到实战:2.5 SQL映射文件与动态SQL
数据库·sql·动态sql·sql映射
大新屋3 小时前
MongoDB 分片集群把非分片集合转成分片集合
数据库·mongodb
Python代狂魔4 小时前
Redis
数据库·redis·python·缓存
余衫马4 小时前
Mysql 5.7 与 SqlSugar 5.X 整合开发实战
mysql·c#·orm·sqlsugar
柠檬茶AL4 小时前
36 NoSQL 注入
数据库·nosql·postman
-XWB-4 小时前
PostgreSQL诊断系列(2/6):锁问题排查全攻略——揪出“阻塞元凶”
数据库·postgresql
XiaoMu_0015 小时前
【MongoDB与MySQL对比】
数据库
做科研的周师兄5 小时前
【机器学习入门】1.2 初识机器学习:从数据到智能的认知之旅
大数据·数据库·人工智能·python·机器学习·数据分析·机器人
qq_364371726 小时前
基于 Redis + JWT 的跨系统身份共享方案
数据库·redis
技术与健康6 小时前
LLM实践系列:利用LLM重构数据科学流程04 - 智能特征工程
数据库·人工智能·重构