Mysql数据库 12.SQL语言 触发器

news2025/1/12 18:12:51

一、触发器(操作日志表)

1.介绍

不需要主动调用的一种储存过程,是一个能够完成特定过程,存储在数据库服务器上的SQL片段。

对当前表中数据增删改查的一种记录<日志表>,根据触发器自动执行,记录当前操作

2.触发器的使用

2.1 手动进行操作记录

1.创建日志表
代码实现
#创建日志表
create table stulogs(
	id int primary key auto_increment,#主键自增 autu_increment
	time timestamp,#操作类型的时间
	log_text varchar(200)#记录当前所做的具体操作
);
运行结果

2.向学生表中添加一条数据
代码实现
#向学生表中添加一条数据
insert into students (stu_num,name,stu_gender,stu_age,cid)
values(
	'20220112','小丽','女',20,2
);
运行结果

3.手动进行日志的记录 新增记录
代码实现
insert into stulogs(time,log_text) values(now(),'添加20222012学生信息');
运行结果

4.对表修改结果
students表

日志表stulogs

2.2 使用触发器自动进行操作记录

1.创建触发器 trigger
语法:关键字:trigger

create trigger 触发器的名字

<before|after>                        #定义触发器的触发时机

<新增insert|删除delete|修改update>                #定义数据操作语言DML类型

on <表名>                        #指定具体是哪张表

for each row                        #声明为行级触发器(只要操作一条记录就能触发触发器执行一次)

具体的触发器操作

案例

通过触发器的方式来进行日志记录

代码实现
#通过触发器的方式来进行日志记录
create trigger tri_test1
after insert on students
for each row 			#行级触发器
insert into stulogs(time,log_text)
	values(now(),concat('添加',new.stu_num,'学生信息'));
	
运行结果

2.查看触发器

show triggers;

代码实现
#查看触发器
show triggers;
运行结果

3.测试触发器

代码实现
#触发器自动执行
#新增数据操作
insert into students (stu_num,name,stu_gender,stu_age,cid)
	values('20220113','小美','女',21,1);
运行结果

对表修改结果

触发器日志表自动存储结果

4.删除触发器

语法

drop trigger 触发器名;

代码实现
drop trigger stulogs;
运行结果

二、NEW与OLD

介绍

new与old关键字用来在触发器中获取出发这个触发器的数据库操纵语言DML的数据

new:在触发器中获取insert操作添加的数据,update操作修改后的记录

old:在触发器中用于获取delete操作删除前的数据,update操作修改前的数据

同时新增多条数据

代码实现
#同时新增多条数据
insert into students (stu_num,name,stu_gender,stu_age,cid)
	values('20220114','小小','男',18,1),('20220115','郭靖','男',20,2);

运行结果

对表修改结果

students表

log_text日志表

修改触发器

新增一个触发器,记录修改操作
create trigger tir_test3
after update on students
for each row 
insert into stulogs(time,log_text) values(now(),concat('修改学生信息为',new.stu_num,new.name));
 修改数据

update 表名 set 列名='修改后的数据' where 条件;

代码实现
#修改数据
update students set name='大黄' where stu_num=20220114;
运行结果

表数据修改结果 

表数据修改

查看触发器
代码实现
#查看触发器
show triggers;
运行结果,显示触发器记录

案例 

修改数据并触发器记录

代码实现
#删除数据
delete from students where name='大黄';

#修改数据
update students set name='蓝' where stu_num=20220115;

#添加删除触发器
create trigger tir_test4 
after update on students
for each row 
insert into stulogs(time,log_text) values(now(),concat('将学员姓名从【',old.name,'】修改为【',new.name,'】'));
运行结果

 

表数据修改结果

三、触发器使用总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1190561.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【阿里云】任务2-OSS对象存储教程(找我参加活动可获得京东卡奖励)

目录 前言说明第一步第二步第三步&#xff1a;开通并使用OSS传输加速三、清理第四步-提交作品第五步-提交记录到小程序 前言 本次任务是阿里云官方发出的&#xff0c;每个任务30软妹币&#xff0c;欢迎大家加入我的活动群&#xff0c;门槛很低&#xff0c;所有人都可以参加&…

kkFileView getCorsFile 任意文件读取漏洞(CVE-2021-43734)

kkFileView getCorsFile 任意文件读取漏洞 &#xff08;CVE-2021-43734&#xff09; 免责声明漏洞描述漏洞影响漏洞危害网络测绘Fofa: body"kkFileView" 漏洞复现1. 构造poc2. 读取文件 免责声明 仅用于技术交流,目的是向相关安全人员展示漏洞利用方式,以便更好地提…

用于汽车主驱逆变器的NVVR26A120M1WST、NVVR26A120M1WSS、NVVR26A120M1WSB 1200V、碳化硅(SiC)模块

碳化硅&#xff08;SiC&#xff09;模块 – EliteSiC主驱逆变器功率模块 1200V&#xff0c;半桥&#xff0c;介绍 1、&#xff08;NVVR26A120M1WST&#xff09;功率模块是用于混合动力车&#xff08;HEV&#xff09;和电动车&#xff08;EV&#xff09;主驱逆变器应用的VE-Tra…

​​​​​​​​​​​​​​汽车网络信息安全分析方法论

目录 1.典型信息安全分析方法 1.1 HEAVENS威胁分析模型 1.2 OCTAVE威胁分析方法 1.3 Attack Trees分析方法 2. 功能安全与信息安全的关系讨论 与Safety的典型分析方法一样&#xff0c;Security也有一些典型的信息安全威胁分析方法(TARA分析)&#xff0c;根据SAE J3061、I…

C++: 类和对象(下) (初始化列表, 隐式类型转换, static成员, 友元, 内部类, 匿名对象)

文章目录 一. 再谈构造函数1. 构造函数体赋值2. 初始化列表3. explitcit 关键字 二. static 成员1. 概念2. 特性声明静态成员使用类的静态成员定义静态成员 三. 友元1. 友元函数2. 友元类 四. 内部类五. 匿名对象 一. 再谈构造函数 1. 构造函数体赋值 在创建对象时, 编译器通过…

一张数学地图带你尽览数学分支

我们在学校学习的数学可能也只是数学领域的冰山一角&#xff0c;作为庞大而多样的学科&#xff0c;我今天将通过一张数学地图带你尽览数学分支。 本数学地图对应的视频讲解地址如下&#xff1a; https://www.youtube.com/watch?vOmJ-4B-mS-Y 另外&#xff0c;由于图片较大&a…

STM32中断简介

中断系统 中断&#xff1a;在主程序运行过程中&#xff0c;出现了特定的中断触发条件&#xff08;中断源&#xff09;&#xff0c;使得CPU暂停当前正在运行的程序&#xff0c;转而去处理中断程序&#xff0c;处理完成后又返回原来被暂停的位置继续运行&#xff1b; 以上是中断的…

【Linux】JREE项目部署与发布

目录 一.jdk安装配置 1.1.传入资源 1.2. 解压 1.3. 配置 二.Tomcat安装 2.1.解压开启 2.2. 开放端口 三.MySQL安装 3.1.解压安装 3.2.登入配置 四.后端部署 今天就到这里了哦&#xff01;&#xff01;希望能帮到你哦&#xff01;&#xff01;&#xff01; 一.jdk…

半导体(芯片)制造工艺流程简单说

半导体行业是国民经济支柱性行业之一&#xff0c;是信息技术产业的重要组成部分&#xff0c;是支撑经济社会发展和保障国家安全的战略性、基础性和先导性产业&#xff0c;其发展程度是衡量一个国家科技发展水平的核心指标之一&#xff0c;属于国家高度重视和鼓励发展的行业。 …

ant design pro of vue怎么使用阿里iconfont

一 使用离线iconfont 首先需要生成图所有图标对应的js文件。如下图所示&#xff0c;将生成的js代码复制&#xff0c;在项目中创建一个js文件&#xff0c;将代码粘贴进去。这里我将js文件放在了src/assets/iconfont下面 然后&#xff0c;在main.js中引入文件&#xff0c;并进…

强化IP地址管理措施:确保网络安全与高效性

IP地址管理是网络安全和性能管理的关键组成部分。有效的IP地址管理可以帮助企业确保网络的可用性、安全性和高效性。本文将介绍一些强化IP地址管理的关键措施&#xff0c;以帮助企业提高其网络的安全性和效率。 1. IP地址规划 良好的IP地址规划是强化IP地址管理的基础。它涉及…

【操作系统】考研真题攻克与重点知识点剖析 - 第 2 篇:进程与线程

前言 本文基础知识部分来自于b站&#xff1a;分享笔记的好人儿的思维导图与王道考研课程&#xff0c;感谢大佬的开源精神&#xff0c;习题来自老师划的重点以及考研真题。此前我尝试了完全使用Python或是结合大语言模型对考研真题进行数据清洗与可视化分析&#xff0c;本人技术…

基于SSM框架的管理系统-计算机毕设 附源码 23402

基于SSM框架的管理系统 摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。在目前的形势下&#xff0c;无论是从国家到企业再到家庭&#xff0c;计算机都发挥着其不可替代的作用&#xff0c;可以说…

【洛谷 P1012】[NOIP1998 提高组] 拼数 题解(贪心算法+字典序排序)

[NOIP1998 提高组] 拼数 题目描述 设有 n n n 个正整数 a 1 … a n a_1 \dots a_n a1​…an​&#xff0c;将它们联接成一排&#xff0c;相邻数字首尾相接&#xff0c;组成一个最大的整数。 输入格式 第一行有一个整数&#xff0c;表示数字个数 n n n。 第二行有 n n …

mac 安装 selenium + chrome driver

前言 使用 selenium 模拟浏览器渲染数据&#xff0c;需要依赖各浏览器的驱动才能完成&#xff0c;因此需要单独安装chrome driver 查看本地 chrome 浏览器的版本 可以看到我这里已经是 arm 架构下最新的版本了 下载对应的 chrome driver 访问下面的地址&#xff1a; Chrome…

集合贴3——智能客服系统

基础课17——智能客服系统-CSDN博客文章浏览阅读56次。近年来&#xff0c;实体客服机器人开始出现在银行办公厅、电信商务厅等场合&#xff0c;形成了网络智能客服、电话智能客服、实体客服机器人综合智能客服系统&#xff0c;这初步形成了一种新的产业形式。https://blog.csdn…

Verilog刷题[hdlbits] :Always nolatches

题目&#xff1a;Always nolatches Suppose you’re building a circuit to process scancodes from a PS/2 keyboard for a game. Given the last two bytes of scancodes received, you need to indicate whether one of the arrow keys on the keyboard have been pressed.…

Matlab使用cftool进行曲线拟合

第一步&#xff0c;导入要拟合的输入和输出数据 导入excel时&#xff0c;如果作为列矢量导入&#xff0c;则会将excel的数据按列导入&#xff0c;并且&#xff0c;默认将第一行的变量名作为每一列的矢量名。 第二步&#xff0c;打开插件curve fitting 在应用程序里打开&#…

MathType公式编辑器7.4.4最新中文版下载

不得不承认MathType公式编辑器是一个强大的数学公式编辑器&#xff0c;专门为理科生准备&#xff0c;MathType数学公式编辑器用于编辑数学试卷、书籍、报刊、论文、幻灯演示等文档&#xff0c;能够帮助使用者快速的在各种文档中插入符号和公式&#xff0c;多复杂的公式都可轻松…

金融工作怎么做?低代码如何助力金融行业

10月30日至31日&#xff0c;中央金融工作会议在北京举行。金融是国民经济的“血脉”&#xff0c;是国家核心竞争力的重要组成部分。会议指出&#xff0c;党的十八大以来&#xff0c;在党中央集中统一领导下&#xff0c;金融系统有力支撑经济社会发展大局&#xff0c;坚决打好防…