MySQL数据库教程之十四:MySQL触发器

准备工作:

先启动Navicat for MySQL,并打开前期建立的数据库和表

查看每个表的结构:

一、触发器概念

触发器(trigger):监视某种情况,并触发某种操作,它是提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,例如当对一个表进行操作( insert,delete, update)时就会激活它执行。
        触发器经常用于加强数据的完整性约束和业务规则等。 触发器创建语法四要素:
        1.监视地点(table)
        2.监视事件(insert/update/delete) 
        3.触发时间(after/before) 
        4.触发事件(insert/update/delete)

语法:

二、触发器类型:

触发器类型

激活触发器的语句

insert型触发器

insert, load data, replace

update型触发器

update

delete型触发器

delete, replace

三、NEW与OLD的使用:

触发器类型

NEW与OLD的使用

insert型触发器

NEW表示将要或已经新增的数据

update型触发器

OLD用来表示将要或已被删除的语句,NEW表示将要或已经修改的数据

delete型触发器

OLD用来表示将要或已被删除的语句

四、触发器实例

1、准备工作:先建两个表,商品表Goods和商品日志表Goods_log

商品表Goods包含:id(商品编号), name(商品名),price(价格)

日志表包含:op_id (操作编号),op_name(操作名称),op_time(操作时间)

商品结构:

日志表:

表结构:

2、定义一个insert触发器

在商品表中插入一条语句,然后查询日志表中的情况:

查看日志表:

同学们试着在商品表插入3条记录,然后查看日志表:

3、定义一个update触发器

然后更新一条记录:

查看日志表:

4、定义一个delete触发器

然后在商品表中删除一条记录

查看日志表:

5、查看触发器

6、删除触发器

再查看触发器

7、触发器模拟外键级联操作

例1:建立一个触发器,具有以下功能:删除student(学生表)中某一条记录,则自动删除score(成绩表)相对应学生的成绩

其触发器含义:删除score表中的记录,首先删除student表中与之对应的信息

查看studenet 与score表中学号172021101同学的信息。

现在删除student表中此学生的记录,然后查看score 表的变化。

查看score表的情况

成功!

MySQL数据库教程之十四:MySQL触发器相关推荐

  1. MySQL数据库教程之十五:MySQL触发器实例

    MySQL数据库教程之十五:MySQL触发器实例 准备工作: 先启动Navicat for MySQL,建立数据库 建立两个表:Goods(商品表).Orders(订单表) Goods(商品表) cr ...

  2. 数据库系统原理与应用教程(052)—— MySQL 的数据完整性(十四):交叉表查询(行列转换)

    数据库系统原理与应用教程(052)-- MySQL 的数据完整性(十四):交叉表查询(行列转换) 目录 数据库系统原理与应用教程(052)-- MySQL 的数据完整性(十四):交叉表查询(行列转换) ...

  3. MySQL数据库教程之七:MySQL编程基础

    MySQL数据库教程之七:MySQL编程基础 准备工作: 先启动MySQL,并打开前期建立的数据库和表 查看每个表的结构: 一.MySQL常量的基本编程 按照MySQL的数据类型划分,可以划分为:数值 ...

  4. MySQL数据库教程天花板,mysql安装到mysql高级,强|硬 宋红康版

    MySQL数据库教程天花板,mysql安装到mysql高级,强|硬 宋红康版(自用不可外传) 文章目录 MySQL数据库笔记 第一部分 MySQL基础篇 第01章 数据库概述 1. 为什么要使用数据库 ...

  5. MySQL深入学习(十四):视图

    本文参考:康师傅-MySQL数据库教程天花板,mysql安装到mysql高级,强!硬! 文章目录 一.常见的数据库对象 二.视图概述 2.1 为什么使用视图? 2.2 视图的理解 三.创建视图 3.1 ...

  6. 卸载linux下的mysql数据库实例_Linux下卸载MySQL数据库实例教程

    本文主要介绍了Linux下卸载MySQL数据库的方法,不知道Linux下卸载MySQL数据库的小伙伴们可以学习一下,本文具有一定的参考价值,希望能帮助到大家. 如何在Linux下卸载MySQL数据库呢 ...

  7. 阿里云服务器安装mysql数据库教程

    阿里云服务器怎么安装mysql数据库?阿里云服务器ECS如何安装mysql数据库教程.主机教程网下面就来分享一下阿里云服务器安装mysql数据库教程. 第一步 1.登录个人的阿里云服务管理终端 2.点 ...

  8. qt 连接mysql数据库_QT连接MYSQL数据库教程

    QT连接MYSQL数据库教程 最近购买了阿里云Linux服务器,处于自学需要安装了MYSQL5.7. 准备用QT开发个小工具,在使用QT提供的标准类连接MYSQL库的时候一直爆出无法加载MYSQL驱动 ...

  9. 零基础带你学习MySQL—数学函数(十四)

    零基础带你学习MySQL-数学函数(十四)

  10. python 自动化 mysql 部署_Python自动化管理Mysql数据库教程

    Python自动化管理Mysql数据库教程 发布时间:2020-05-28 11:14:31 来源:51CTO 阅读:238 作者:三月 下面一起来了解下Python自动化管理Mysql数据库教程,相 ...

最新文章

  1. 简书python自动化运维_简明Python开发教程(4):网络自动化运维的曙光
  2. Oracle存储过程语法
  3. 打破系统边界,云端协同创新——专访华为云视频架构师 黄挺
  4. Cocoapods的安装和使用
  5. linux c之gdb常用断点调试总结
  6. ckeditor java 上传_CKEditor粘贴图片自动上传到服务器(Java版)
  7. MySQL Range Optimization
  8. TypeError at / 'AnonymousUser' object is not iterable
  9. 基于MDC300的神经网络开发
  10. Jenkins 内部服务器遭访问且被部署密币挖机
  11. 18岁智商低的表现_孩子反应慢并不是智商低,三个原因很关键,第一个跟父母有关...
  12. RMSProp均方根反向传播法
  13. 如何让计算机自动重启,Win7电脑定时重启怎么设置?Win7电脑定时关机怎么设置?...
  14. LaTeX数学表达式
  15. ean13码 oracle,Code 128码与EAN 13码的区别
  16. 压电式雨量传感器介绍说明
  17. 浅谈海明码,码距及其计算问题(看过的都明白了)
  18. 一个出身寒门的状元之编程
  19. [CTF] 关于php代码审计的MD5类的练习
  20. 【区块链开发】区块链农产品溯源App

热门文章

  1. java驱动刷机_ProductTool(炬力芯片刷机工具+驱动) v5.46 中文安装免费版
  2. ATP-EMTP电缆LCC模型中相数与电缆数的设置
  3. Oracle数据库SQL优化详解
  4. Teigha4.0数据结构和读取
  5. rocketmq模块架构图
  6. 使用PMBus总线监控电源管理芯片UCD90120
  7. Google PAI资料整理及实现
  8. 小学四年级计算机教案清华出版,清华版四年级下册信息技术电子备课教案
  9. 058线性反馈移位寄存器产生m序列
  10. secureCRT下载地址,亲测有效