我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL触发器的使用详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL触发器的使用详解

1.为什么需要触发器

有一些表是互相关联的,比如说商品表和库存表,我们对商品表的数据进行操作,那么对应的库存表还得发生变化,这样才可以保证数据的完整。如果我们是自己手动维护的话,比较麻烦。

这个时候我们可以使用触发器,创建一个触发器,让商品信息数据的插入操作自动触发库存数据的插入操作等,这样我们就不需要担心因为忘记添加库存数据而导致数据丢失了。

2.触发器概述

  • MySQL是从5.0.2版本开始支持触发器的
  • MySQL的触发器和存储过程一样都是嵌入到MySQL服务器的一段程序
  • 触发器是由某一个事件来触发某个操作,这些事件包括insert,delete,update事件
  • 若定义了触发程序,那么数据库执行这些语句的时候,就相当于事件发生,会自动激发触发器执行相应的操作
  • 如果对数据库中的表的数据进行插入等操作的时候,需要自动执行一些数据库逻辑的时候,我们可以用触发器来实现。

3.触发器的创建

3.1语法

触发器是作用在表上的,比如说我们希望表A新增一条记录的时候就触发 触发器的执行,而且还要选择触发器是在insert语句执行之前执行触发器还是之后。

for each row表明,每执行一次事件(insert,update或delete)就会触发一次触发器

CREATE TRIGGER 触发器名称 
{BEFORE|AFTER} {INSERT|UPDATE|DELETE} ON 表名 
FOR EACH ROW 
触发器执行的语句块;

说明:

表名:表示触发器监控的对象。

BEFORE|AFTER:表示触发的时间。BEFORE 表示在事件之前触发;AFTER 表示在事件之后触发。

INSERT|UPDATE|DELETE:表示触发的事件。

  • INSERT 表示插入记录时触发;
  • UPDATE 表示更新记录时触发;
  • DELETE 表示删除记录时触发。

触发器执行的语句块:可以是单条SQL语句,也可以是由BEGIN…END结构组成的复合语句块。

3.2 案例演示

先准备表

CREATE TABLE test_trigger (
id INT PRIMARY KEY AUTO_INCREMENT,
t_note VARCHAR(30)
);


CREATE TABLE test_trigger_log (
id INT PRIMARY KEY AUTO_INCREMENT,
t_log VARCHAR(30)
);

要求:创建触发器:创建名称为before_insert的触发器,向test_trigger数据表插入数据之前,向test_trigger_log数据表中插入before_insert的日志信息。

4.查看触发器

查看触发器是查看数据库中已经存在的触发器的定义,状态和语法信息等

方式一:查看当前数据库的所有触发器的定义

show triggers\G 注意,在SQLyog中,不能加上\G

方式二:查看当前数据库中某一个触发器的定义

show create trigger 触发器名

方式三:从系统库information_schema的TRIGGERS表中查询“salary_check_trigger”触发器的信息

SELECT * FROM information_schema.TRIGGERS;

5.删除触发器

触发器也是数据库对象,触发器也是用drop语句来删除

drop trigger if exists 触发器名;

总结

到此这篇关于MySQL触发器使用的文章就介绍到这了,更多相关MySQL触发器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL触发器的使用详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL触发器使用过程详解

目录mysql—触发器创建触发器查看触发器删除触发器触发器优缺点MySQL—触发器​ 将两个关联的操作步骤写到程序里面,并且要用事务包裹起来,确保两个操作称为一个原子操作,要么全部执行,要么全部不执行​ 创建一个
2023-03-01

MySQL触发器的定义与使用方法详解

MySQL触发器的定义与使用方法详解 MySQL触发器是一种特殊的存储过程,可以在表发生特定事件时自动执行。触发器可以用于实现 数据的自动化处理、数据一致性维护等功能。本文将详细介绍MySQL触发器的定义与使用方法,并提供具体的代码示例。
MySQL触发器的定义与使用方法详解
2024-03-15

MYSQL触发器的使用

概念:触发器是一种特殊的储存过程,在满足定义条件操作时触发,并且自动执行触发器中预先设定好的定义的语句集合触发器是特殊的储存过程触发器是在对表操作时,满足条件就可以自动调用预先编译的sql语句安全性 可以基于数据库的值使用户具有操作数据库的某种权利审计 可以跟
MYSQL触发器的使用
2021-10-21

MySQL 触发器的使用和理解

1.触发器是什么?一类特殊的数据库程序,可以监视某种数据的操作(insert/update/delete),并触发相关的操作(insert/update/delete),保护数据的完整性。 个人理解就有点类似于Java的观察者模式,一个对象
2022-05-17

详细解读MySQL的触发器trigger

触发器是由事件来触发某个操作,这些事件包括INSERT、UPDATE和DELETE语句。如果定义了触发程序,当数据库执行这些语句的时候就会激发触发器执行相应的操作,需要的朋友可以参考下
2023-05-19

mysql触发器trigger 实例详解

https://www.cnblogs.com/phpper/p/7587031.htmlMySQL好像从5.0.2版本就开始支持触发器的功能了,本次博客就来介绍一下触发器,首先还是谈下概念性的东西吧:什么是触发器触发器是与表有关的数据库对象,在满足定义条件时
mysql触发器trigger 实例详解
2018-01-18

mysql触发器trigger实例详解

MySQL好像从5.0.2版本就开始支持触发器的功能了,本次博客就来介绍一下触发器,首先还是谈下概念性的东西吧: 什么是触发器 触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在
2022-05-22

mysql触发器的使用方法

本篇内容主要讲解“mysql触发器的使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql触发器的使用方法”吧!说明1、触发器可以帮助应用于数据库,以确保数据的完整性、日志记录、数据验
2023-06-20

详解MySQL数据库之触发器

1 引言本文是对MySQL中触发器的总结,从触发器概念出发,结合实例对创建触发器、使用触发器、删除触发器进行介绍。 2 触发器简介MySQL触发器和存储过程一样,都是嵌入到MySQL的一段程序。触发器是由事件来触发某个操作,这些事件包括IN
2022-05-20

MySQL触发器如何使用

本文小编为大家详细介绍“MySQL触发器如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“MySQL触发器如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。MySQL—触发器将两个关联的操作
2023-07-05

MySQL触发器使用场景

MySQL触发器(Trigger)是一种特殊的存储过程,它会在某个特定的事件发生时自动执行。触发器通常用于以下几种场景:数据完整性约束:触发器可以用于确保数据的完整性。例如,当插入、更新或删除一行数据时,触发器可以检查数据是否符合某些条件。
MySQL触发器使用场景
2024-10-20

编程热搜

目录