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表

相关推荐
爬山算法2 小时前
Redis(127)Redis的内部数据结构是什么?
数据结构·数据库·redis
百***25613 小时前
MySQL 实验1:Windows 环境下 MySQL5.5 安装与配置
windows·mysql·adb
转转技术团队3 小时前
分页查询的稳定性陷阱与根治方案
后端·mysql·elasticsearch
应用市场3 小时前
Qt QTreeView深度解析:从原理到实战应用
开发语言·数据库·qt
q***96583 小时前
Spring Data JDBC 详解
java·数据库·spring
Hello,C++!3 小时前
linux下libcurl的https简单例子
linux·数据库·https
q***82914 小时前
图文详述:MySQL的下载、安装、配置、使用
android·mysql·adb
合方圆~小文4 小时前
高性能20倍变焦球机转动功能监控设备
数据结构·数据库·数码相机·模块测试
q***58195 小时前
【SQL】MySQL中的字符串处理函数:concat 函数拼接字符串,COALESCE函数处理NULL字符串
数据库·sql·mysql
懒羊羊不懒@5 小时前
【MySQL | 基础】多表查询
数据库·sql·mysql