-- 触发器(trigger)
/*触发器是与表有关的数据库对象,指在insert/update/delete之前(BEFORE)或之后(AFTER),触
发并执行触发器中定义的SQL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性
, 日志记录 , 数据校验等操作 。
*//*
使用别名OLD和NEW来引用触发器中发生变化的记录内容,这与其他的数据库是相似的。现在触发器还
只支持行级触发,不支持语句级触发。*/-- 创建按触发器
create trigger trigger_insertafter insert on employee for each rowbegindeclare c int;declare a date;set c = (select id from employee where id = NEW.id);insert into log values(NEW.id,new.name,now());end;desc employee;-- 创建日志表
create table Log(id int comment '日志id',name varchar(30) comment '姓名',date date comment '发生时间'
);
alter table log change date datetime datetime comment'发生时间';-- 查看触发器
show triggers ;-- 测试触发器
insert into employee values(11,'李白',559,'男','宣传部',2450,2);
insert into employee values(13,'岳飞',35,null,null,null,null);
insert into employee values(14,'高俅',48,null,null,null,null);select * from log;
select * from employee;li练习
-- 创建触发器,在employee表中删除员工信息的同时将salary表中该员工的信息删除,以确保数据完整性。
-- 创建完后尝试删除employee表中的一行数据,然后查看salary表中的变化情况
create trigger trigger_deleteafter delete on employee for each rowbegindelete from salary where salary.employeeID = OLD.employeeID;end;-- 测试删除一条数据
delete from employee where employeeID = '000001';
select * from employee;
select * from salary;-- 当修改employee表时,若将employee表中的员工工作时间增加一年,则将收入增加500,增加两年则收入增加1000,以此类推
create trigger trigger_updateafter update on employee for each rowbegindeclare n int;set n = (select new.workYear)-(select old.workYear);update salary set income =500*n+income where employeeID = new.employeeID;end;-- 测试更新薪资
update employee set workYear = workYear-2 where employeeID = '000001';
select * from salary;
select * from  employee;desc employee;
-- 恢复数据
insert into employee values('000001','王浩','大专','1966-01-23',1,8,'中山路32号','83355668','2');
insert into salary values('000001',2100.8,123.09);

MySQL进阶:触发器相关推荐

  1. MySQL 进阶 触发器 -- 触发器介绍、触发器语法、触发器案例

    文章目录 1. 触发器介绍 2. 触发器语法 2.1 创建触发器 2.2 查看触发器 2.3 删除触发器 3. 触发器案例 3.1 插入数据触发器 3.2 修改数据触发器 3.3 删除数据触发器 4. ...

  2. 超详细图解!【MySQL进阶篇】存储过程,视图,索引,函数,触发器

    超详细图解![MySQL进阶篇]存储过程,视图,索引,函数,触发器 1.1 下载Linux 安装包 1.2 安装MySQL 1.3 启动 MySQL 服务 1.4 登录MySQL 2\. 索引 2.1 ...

  3. 【MySQL | 进阶篇】05、MySQL 视图、触发器讲解

    目录 一.视图 1.1 介绍 1.2 语法 1.2.1 演示示例 1.3 检查选项 1.3.1 CASCADED 级联 1.3.2 LOCAL 本地 1.3.3 示例演示 1.4 视图的更新 1.4. ...

  4. 数据库mysql进阶—trigger触发器

    触发器 在实际开发中,我们经常会遇到这样的情况:有两个或者多个相互关联的表,如商品信息和库存信息分别存放在2个不同的数据表中,我们在添加一条新的商品记录的时候,为了保证数据的完整性,必须同时在库存表中 ...

  5. MySQL进阶篇(03):合理的使用索引结构和查询

    本文源码:GitHub·点这里 || GitEE·点这里 一.高性能索引 1.查询性能问题 在MySQL使用的过程中,所谓的性能问题,在大部分的场景下都是指查询的性能,导致查询缓慢的根本原因是数据量的 ...

  6. MySQL进阶篇(02):索引体系划分,B-Tree结构说明

    本文源码:GitHub·点这里 || GitEE·点这里 一.索引简介 1.基本概念 首先要明确索引是什么:索引是一种数据结构,数据结构是计算机存储.组织数据的方式,是指相互之间存在一种或多种特定关系 ...

  7. MySQL进阶之SQL优化

    1.使用 show status like 'Com%';可以查到各种语句执行的次数. Com_select:执行select操作的次数. Com_insert:执行insert的次数 Com_upd ...

  8. mysql进阶教程pdf_Mysql基础到进阶精品视频教程附讲义文档 91课

    Mysql基础到进阶精品视频教程附讲义文档 91课 程介绍 Mysql基础 本章主要是php开发中Mysql基础知识的学习,包括MySQL的简单介绍和安装.MySQL管理工具的使用.表的建立.数据的查 ...

  9. 黑马MySQL进阶篇笔记

    目录 MySQL进阶篇 一.存储引擎 1.1 Mysql体系结构图 1.2 存储引擎 1.概念 2.InnoDB 3.MyISAM 4.Memory 5.三种引擎对比 6.引擎的选择 1.3 安装my ...

  10. mysql建立司机表,MYSQL进阶,生手变司机

    MYSQL进阶,新手变司机 一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. 1 S ...

最新文章

  1. android layout 工具栏,没有工具栏的Android CollapsingToolbarLayout在某个点停止而不是完全关闭...
  2. PyTorch基础(part8)--LSTM
  3. tcp压测工具_【解决方案】性能压测及分析调优实践
  4. 快速删除从CSDN复制的代码行前的数字的方法
  5. 三星Galaxy S21 FE现身Geekbench:骁龙888+6GB运存
  6. [重要] Cocos2dx 3.0 PageView ListView 在Android设备下背景显示为绿色的问题的解决方案
  7. .NET开发中的Exception处理三定律[转]
  8. jq ajax ajaxsubmit,如何理解jQuery中的ajaxSubmit方法
  9. 管螺纹如何标注_螺纹知识,这一次搞全了!
  10. LA 4670 Dominating Patterns
  11. 20150802厦门大学华为校园提前批招聘机试体验题三:Word Maze(单词迷宫)
  12. html a href 文件下载 IE直接打开 内容乱码
  13. 正宇丨生活其实很简单,想通了每天都是晴天
  14. APP上短信验证码如何验证?
  15. 【更新】四种WinRAR永久去广告方法
  16. 关于页面失去焦点时定时器乱序问题
  17. 【安卓开发系列 -- APP】APP 开发基础技术整理
  18. UDN社区 开源文档分类导航
  19. iphone 应用程序设置和默认设置
  20. AI成功破译古老未知语言,人工智能技术开辟历史研究新时代

热门文章

  1. 手游平台搭建技术对接文档
  2. 彩虹物语服务器维护,红手指彩虹物语云手机使用教程_红手指彩虹物语云挂机教程_彩虹物语息屏挂机教程_红手指云手机官网...
  3. 由于微信字体大小的设置导致rem布局的微信公众号页面发生错乱的问题总结
  4. stata面板数据聚类及数据导入处理、虚拟变量等
  5. 魔兽3无法启动此程序因为计算机中丢失,win10运行war3出错无法启动怎么办_win10系统war3不能启动如何解决...
  6. 哪里计算机考研只考一门课,计算机考研|专业课只考一门数据结构的院校有哪些...
  7. 使用moviepy快速剪辑和拼接视频
  8. 数字IC(SoC)低功耗设计方法总结
  9. 基于Java+Springmvc+vue+element员工信息管理系统详细设计
  10. mysql 3日内_一门三父子