MySQL数据库教程之十四:MySQL触发器
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触发器相关推荐
- MySQL数据库教程之十五:MySQL触发器实例
MySQL数据库教程之十五:MySQL触发器实例 准备工作: 先启动Navicat for MySQL,建立数据库 建立两个表:Goods(商品表).Orders(订单表) Goods(商品表) cr ...
- 数据库系统原理与应用教程(052)—— MySQL 的数据完整性(十四):交叉表查询(行列转换)
数据库系统原理与应用教程(052)-- MySQL 的数据完整性(十四):交叉表查询(行列转换) 目录 数据库系统原理与应用教程(052)-- MySQL 的数据完整性(十四):交叉表查询(行列转换) ...
- MySQL数据库教程之七:MySQL编程基础
MySQL数据库教程之七:MySQL编程基础 准备工作: 先启动MySQL,并打开前期建立的数据库和表 查看每个表的结构: 一.MySQL常量的基本编程 按照MySQL的数据类型划分,可以划分为:数值 ...
- MySQL数据库教程天花板,mysql安装到mysql高级,强|硬 宋红康版
MySQL数据库教程天花板,mysql安装到mysql高级,强|硬 宋红康版(自用不可外传) 文章目录 MySQL数据库笔记 第一部分 MySQL基础篇 第01章 数据库概述 1. 为什么要使用数据库 ...
- MySQL深入学习(十四):视图
本文参考:康师傅-MySQL数据库教程天花板,mysql安装到mysql高级,强!硬! 文章目录 一.常见的数据库对象 二.视图概述 2.1 为什么使用视图? 2.2 视图的理解 三.创建视图 3.1 ...
- 卸载linux下的mysql数据库实例_Linux下卸载MySQL数据库实例教程
本文主要介绍了Linux下卸载MySQL数据库的方法,不知道Linux下卸载MySQL数据库的小伙伴们可以学习一下,本文具有一定的参考价值,希望能帮助到大家. 如何在Linux下卸载MySQL数据库呢 ...
- 阿里云服务器安装mysql数据库教程
阿里云服务器怎么安装mysql数据库?阿里云服务器ECS如何安装mysql数据库教程.主机教程网下面就来分享一下阿里云服务器安装mysql数据库教程. 第一步 1.登录个人的阿里云服务管理终端 2.点 ...
- qt 连接mysql数据库_QT连接MYSQL数据库教程
QT连接MYSQL数据库教程 最近购买了阿里云Linux服务器,处于自学需要安装了MYSQL5.7. 准备用QT开发个小工具,在使用QT提供的标准类连接MYSQL库的时候一直爆出无法加载MYSQL驱动 ...
- 零基础带你学习MySQL—数学函数(十四)
零基础带你学习MySQL-数学函数(十四)
- python 自动化 mysql 部署_Python自动化管理Mysql数据库教程
Python自动化管理Mysql数据库教程 发布时间:2020-05-28 11:14:31 来源:51CTO 阅读:238 作者:三月 下面一起来了解下Python自动化管理Mysql数据库教程,相 ...
最新文章
- 简书python自动化运维_简明Python开发教程(4):网络自动化运维的曙光
- Oracle存储过程语法
- 打破系统边界,云端协同创新——专访华为云视频架构师 黄挺
- Cocoapods的安装和使用
- linux c之gdb常用断点调试总结
- ckeditor java 上传_CKEditor粘贴图片自动上传到服务器(Java版)
- MySQL Range Optimization
- TypeError at / 'AnonymousUser' object is not iterable
- 基于MDC300的神经网络开发
- Jenkins 内部服务器遭访问且被部署密币挖机
- 18岁智商低的表现_孩子反应慢并不是智商低,三个原因很关键,第一个跟父母有关...
- RMSProp均方根反向传播法
- 如何让计算机自动重启,Win7电脑定时重启怎么设置?Win7电脑定时关机怎么设置?...
- LaTeX数学表达式
- ean13码 oracle,Code 128码与EAN 13码的区别
- 压电式雨量传感器介绍说明
- 浅谈海明码,码距及其计算问题(看过的都明白了)
- 一个出身寒门的状元之编程
- [CTF] 关于php代码审计的MD5类的练习
- 【区块链开发】区块链农产品溯源App