2024 Mysql基础与进阶操作系列之MySQL触发器详解(20)作者——LJS[你个小黑子这都还学不会嘛?你是真爱粉嘛?真是的 ~;以后请别侮辱我家鸽鸽]
欢迎各位彦祖与热巴畅游本人专栏与博客
你的三连是我最大的动力
以下图片仅代表专栏特色 [点击箭头指向的专栏名即可闪现]
专栏跑道一
➡️ MYSQL REDIS Advance operation
专栏跑道二
➡️ 24 Network Security -LJS
专栏跑道三
➡️HCIP;H3C-SE;CCIP——LJS[华为、华三、思科高级网络]
专栏跑道四
➡️RHCE-LJS[Linux高端骚骚操作实战篇]
专栏跑道五
➡️数据结构与算法[考研+实际工作应用+C程序设计]
专栏跑道六
➡️RHCSA-LJS[Linux初级及进阶骚技能]

上节回顾
https://netsecur-cloud-ljs.blog.csdn.net/article/details/142601038
目录
欢迎各位彦祖与热巴畅游本人专栏与博客
你的三连是我最大的动力
以下图片仅代表专栏特色 [点击箭头指向的专栏名即可闪现]
专栏跑道一 ➡️ MYSQL REDIS Advance operation
专栏跑道二➡️ 24 Network Security -LJS
专栏跑道三
➡️HCIP;H3C-SE;CCIP——LJS[华为、华三、思科高级网络]
专栏跑道四➡️RHCE-LJS[Linux高端骚骚操作实战篇]编辑
专栏跑道五
➡️数据结构与算法[考研+实际工作应用+C程序设计]
专栏跑道六
➡️RHCSA-LJS[Linux初级及进阶骚技能]
上节回顾https://netsecur-cloud-ljs.blog.csdn.net/article/details/142601038
1.MySQL触发器详解
简介
1.1MySQL触发器基础
触发器分类
MySql执行时机和数据操作类型分类表
额外补充举例:
2.基础常用关键字
2.1MySQL触发器常用关键字详解说明表及对应示例
1.BEFORE:
2.AFTER:
3.FOR EACH ROW:
4.BEGIN和END:
5.NEW:
6.OLD:
7.SET:
8.IF和THEN:
3.如何定义触发器
语法格式:
触发器定义之选项参数详解说明表:
3.2如何创建和删除触发器
创建触发器语法格式:
删除触发器语法格式:
3.3触发器的执行时机和对应条件

1.MySQL触发器详解
简介
- 数据库触发器是一种在特定数据操作(如插入、更新或删除)发生时自动执行的动作。本文将介绍MySQL触发器的基础知识和使用方法。
1.1MySQL触发器基础
触发器分类
MySql执行时机和数据操作类型分类表
按执行时机分类 BEFORE触发器: 在数据操作之前执行触发器逻辑 AFTER触发器: 在数据操作之后执行触发器逻辑 按数据操作类型分类 INSERT触发器: 在插入数据之前或之后执行触发器逻辑 UPDATE触发器: 在更新数据之前或之后执行触发器逻辑 DELETE触发器: 在删除数据之前或之后执行触发器逻辑 额外补充举例:
- BEFORE INSERT触发器可以用于在插入数据之前验证数据完整性
- AFTER UPDATE触发器可以用于记录数据变更日志等
2.基础常用关键字
2.1MySQL触发器常用关键字详解说明表及对应示例
BEFORE: 表示在数据操作之前执行触发器逻辑
1.BEFORE:
-- 在插入数据之前执行的逻辑CREATE TRIGGER `trigger_before_insert` BEFORE INSERT ON `mytable` FOR EACH ROW BEGINEND;AFTER: 表示在数据操作之后执行触发器逻辑
2.AFTER:
-- 在更新数据之后执行的逻辑END;CREATE TRIGGER `trigger_after_update` AFTER UPDATE ON `mytable`FOR EACH ROWBEGINFOR EACH ROW: 表示针对每一行数据执行触发器逻辑
3.FOR EACH ROW:
-- 针对每一行删除操作执行的逻辑CREATE TRIGGER `trigger_for_each_row` AFTER DELETE ON `mytable` FOR EACH ROW BEGINEND;BEGIN和END: 用于定义触发器的逻辑代码块
4.BEGIN和END:
CREATE TRIGGER `trigger_multiple_statements` AFTER INSERT ON `mytable` FOR EACH ROW BEGINDECLARE var INT;SET var = NEW.age + 10;IF (var > 50) THEN-- 逻辑语句1ELSE-- 逻辑语句2END IF; END;NEW: 代表要插入、更新或删除的新数据引用。可以通过NEW来访问新值
5.NEW:
CREATE TRIGGER `trigger_new_value` BEFORE INSERT ON `mytable` FOR EACH ROW BEGINSET NEW.name = UPPER(NEW.name); END;OLD: 代表要更新或删除的旧数据引用。只能在UPDATE和DELETE触发器中使用
6.OLD:
CREATE TRIGGER `trigger_old_value` BEFORE UPDATE ON `mytable` FOR EACH ROW BEGINIF (OLD.age < NEW.age) THEN-- 逻辑语句END IF; END;SET: 用于设置变量的值,可用于对NEW或OLD的字段进行赋值操作
7.SET:
CREATE TRIGGER `trigger_set_value` AFTER INSERT ON `mytable` FOR EACH ROW BEGINSET @total = @total + NEW.quantity; END;IF和THEN: 用于条件判断,控制触发器逻辑的执行流程
8.IF和THEN:
CREATE TRIGGER `trigger_if_then` BEFORE DELETE ON `mytable` FOR EACH ROW BEGINIF (OLD.age > 30) THEN-- 逻辑语句1ELSE-- 逻辑语句2END IF; END;INSERT、UPDATE、DELETE: 分别表示插入、更新和删除操作的关键字,可用于在相应类型的触发器中执行相应的逻辑[不在举例;往期已经详解]

3.如何定义触发器
语法格式:
-- 触发器逻辑CREATE TRIGGER trigger_name{BEFORE | AFTER} {INSERT | UPDATE | DELETE} ON table_nameFOR EACH ROWBEGIN END;触发器定义之选项参数详解说明表:
选项参数 详解说明 trigger_name: 触发器的名称,你可以根据需要自定 {BEFORE | AFTER}:指定触发器在数据操作之前(BEFORE)或之后(AFTER)执行 {INSERT | UPDATE | DELETE}: 指定触发器在哪种类型的数据操作时触发,可以是插入数据(INSERT)、更新数据(UPDATE)或删除数据(DELETE) table_name:指定触发器所属的表名 FOR EACH ROW: 确保触发器逻辑应用于每一行受影响的数据 BEGIN和END:定义了触发器逻辑的开始和结束位置,你可以在其中编写相应的代码来实现需要的业务逻辑

3.2如何创建和删除触发器
创建触发器语法格式:
CREATE TRIGGER trigger_name ...删除触发器语法格式:
DROP TRIGGER IF EXISTS trigger_name;

3.3触发器的执行时机和对应条件
触发器的执行时机和对应条件表
BEFORE触发器: 在数据操作之前执行 AFTER触发器: 在数据操作之后执行 FOR EACH ROW: 对每一行数据执行触发器逻辑



相关文章:
2024 Mysql基础与进阶操作系列之MySQL触发器详解(20)作者——LJS[你个小黑子这都还学不会嘛?你是真爱粉嘛?真是的 ~;以后请别侮辱我家鸽鸽]
欢迎各位彦祖与热巴畅游本人专栏与博客 你的三连是我最大的动力 以下图片仅代表专栏特色 [点击箭头指向的专栏名即可闪现] 专栏跑道一 ➡️ MYSQL REDIS Advance operation 专栏跑道二➡️ 24 Network Security -LJS 专栏跑道三 ➡️HCIP;H3C-SE;CCIP——…...
找不到concrt140.dll如何修复,快来试试这6种解决方法
concrt140.dll是微软Visual C 2015 Redistributable Package中的一个重要动态链接库文件,它在许多Windows应用程序中扮演着关键角色。本文将详细探讨concrt140.dll丢失的原因、影响、解决方法以及预防措施,帮助用户更好地理解和应对这一问题。 一、什么是…...
年会工作会议会务报名签到小程序开源版开发
年会工作会议会务报名签到小程序开源版开发 会议管理微信小程序,对会议流程、开支、数量、标准、供应商提供一种标准化的管理方法。以达到量化成本节约,风险缓解和服务质量提升的目的。适用于大型论坛、峰会、学术会议、政府大会、合作伙伴大会、经销商…...
UE C++ 实时加载模型的总结
一.总体思路: 如果实时加载UE模型,需要先将之前的模型删除。再生成出来,放在根节点,保持相对位置,相对的俯仰角。 void AAirForce::LoadWeapon(int ID, int Type, double X, double Y, double Z) {//m_weaponMap.Emp…...
实施威胁暴露管理、降低网络风险暴露的最佳实践
随着传统漏洞管理的发展,TEM 解决了因攻击面扩大和安全工具分散而产生的巨大风险。 主动式 TEM 方法优先考虑风险并与现有安全工具无缝集成,使组织能够在威胁被有效利用之前缓解威胁。 为什么威胁暴露管理 (TEM) 在现代网络安全策略中变得至关重要&…...
51.哀家要长脑子了!
1.P1003 [NOIP2011 提高组] 铺地毯 重复 模拟 要求覆盖在最上面的地毯编号,用四个数组abgk分别记录地毯起点的左下角横纵坐标,地毯的长度宽度,输入的坐标x y 当它满足大于等于左下角坐标 并且 小于等于 地毯左下角横纵坐标的时候…...
Overleaf 无法显示图片
问题描述 在Overleaf中的代码为: \begin{figure}\centering\includegraphics[width0.98\linewidth]{figures/test.png}\caption{This is a test.}\label{fig:test} \end{figure}但无法正常显示图片: 解决方案 修改编译模式为正常Normal而非快速Fast …...
如何实现 C/C++ 与 Python 的通信?
在现代编程中,C/C与Python的通信已经成为一种趋势,尤其是在需要高性能和灵活性的场景中。本文将深入探讨如何实现这两者之间的互通,包括基础和高级方法,帮助大家在混合编程中游刃有余。 C/C 调用 Python(基础篇&#…...
音视频入门基础:FLV专题(13)——FFmpeg源码中,解析任意Type值的SCRIPTDATAVALUE类型的实现
一、SCRIPTDATAVALUE类型 从《音视频入门基础:FLV专题(9)——Script Tag简介》中可以知道,根据《video_file_format_spec_v10_1.pdf》第80到81页,SCRIPTDATAVALUE类型由一个8位(1字节)的Type和…...
jvm里的metaspace oom 排查问题思路-使用MAT
文章目录 metapace oom 问题排查点-1-duplicate class 数量排查点-2-classloader 数量一些可能迷惑人的方向 metapace oom 问题 metapace 问题都是由加载的class 太多,导致内存不够报出来的。 排查点-1-duplicate class 数量 首先看这里,通常一个clas…...
2025舜宇招聘【内推码】
【2025内推码】 DSwNQ9yu DSJXN8Mr 舜宇集团2025届全球校园招聘正式启动!!! 专业需求:机械、自动化、电子、电气、通信、控制、测控、计算机、软件、物理、光学等专业; 工作地点:宁波余姚、浙江杭州、广东…...
APP自动化搭建与应用
APP自动化环境搭建 用于做APP端UI自动化,adb连接手机设备。 需要的工具java编辑器:jdk、Android-sdk软件开发工具组、appium的python客户端、nodes.js、夜神模拟器、apk包、uiautomatorviewer 第一步:安装sdk,里面包含建立工具bu…...
kafka-windows集群部署
kafka-windows集群部署目录 文章目录 kafka-windows集群部署目录前言一、复制出来四个kafka文件夹二、修改集群每个kafka的配置文件四、启动zookeeper,kafka集群 前言 部署本文步骤可以先阅读这一篇博客,这篇是关于单机kafka部署测试的。本文用到的文件…...
4个顶级的大模型推理引擎
LLM 在文本生成应用中表现出色,例如具有高理解度和流畅度的聊天和代码完成模型。然而,它们的庞大规模也给推理带来了挑战。基本推理速度很慢,因为 LLM 会逐个生成文本标记,需要对每个下一个标记进行重复调用。随着输入序列的增长&…...
Oracle中ADD_MONTHS()函数详解
文章目录 前言一、ADD_MONTHS()的语法二、主要用途三、测试用例总结 前言 在Oracle数据库中,ADD_MONTHS()函数用于在日期中添加指定的月数。 一、ADD_MONTHS()的语法 ADD_MONTHS(date, n) 其中,date是一个日期值,n是一个整数值,…...
【SQL】掌握SQL查询技巧:高效数据整合与查询优化
目录 1. SQL 的基本构成2. SQL 联接(JOIN)2.1 内联接(INNER JOIN)2.2 外联接(OUTER JOIN)2.2.1 左外联接(LEFT JOIN)2.2.2 右外联接(RIGHT JOIN)2.2.3 全外联…...
一个月学会Java 第5天 控制结构
Day5 控制结构 这么叫可能有些就算有基础的人也看不懂,其实就是if-else、switch-case、for、while、do-while这几个,没基础的听到了这个也不要慌张,这几个是程序的基础,多多训练就好 第一章 顺序结构 这章其实没有什么好讲的&…...
世界职业院校技能大赛(大数据技术与应用)参赛项目介绍内容模拟示例参考
最近关注世界职业院校技能大赛的同学应该都知道了,比赛已经正式改为”世界职业院校技能大赛“了,不仅仅是名称变化,而且比赛的形式也发生了巨大的改革,2024年世界职业院校技能大赛设置42个赛道,要求各比赛项目提交项目…...
【Python】文件及目录
文章目录 概要一、文件对象的函数1.1 open()函数1.2 文件对象的函数1.3 with语句 二、基于os和os.path模块的目录操作三、基于Pandas的文件处理3.1 Pandas读写各种类型文件 其他章节的内容 概要 本文主要将了打开文件的函数open()的参数,以及文件对象的函数&#x…...
OpenHarmony(鸿蒙南向开发)——标准系统方案之瑞芯微RK3566移植案例(下)
往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ 持续更新中…… 概述 OpenHarmony Camera驱动模型结构 HDI Implementation&#x…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...


