mysql有触发器吗
时间:2022-06-23 [网络编程]作者:fabuyuan 浏览:2 次
mysql有触发器。MySQL触发器是存储在数据库目录中的一组SQL语句集合,是MySQL中管理数据的有力工具,主要用于保护表中的数据。MySQL支持三种触发器:1、INSERT触发器,是在INSERT语句执行之前或之后响应的触发器;2、UPDATE触发器,是在UPDATE语句执行之前或之后响应的触发器;3、DELETE触发器,是在DELETE语句执行之前或之后响应的触发器。
本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。
mysql有触发器。
MySQL 的触发器和存储过程一样,都是嵌入到 MySQL 中的一段程序,是存储在数据库目录中的一组SQL语句集合,是 MySQL 中管理数据的有力工具。不同的是执行存储过程要使用 CALL 语句来调用,而触发器的执行不需要使用 CALL 语句来调用,也不需要手工启动,而是通过对数据表的相关操作来触发、激活从而实现执行。比如当对 student 表进行操作(INSERT,DELETE 或 UPDATE)时就会激活它执行。
触发器与数据表关系密切,主要用于保护表中的数据。特别是当有多个表具有一定的相互联系的时候,触发器能够让不同的表保持数据的一致性。
在 MySQL 中,只有执行 INSERT、UPDATE 和 DELETE 操作时才能激活触发器,其它 SQL 语句则不会激活触发器。
触发器的优缺点
触发器的优点如下:
触发器的执行是自动的,当对触发器相关表的数据做出相应的修改后立即执行。
触发器可以实施比 FOREIGN KEY 约束、CHECK 约束更为复杂的检查和操作。
触发器可以实现表数据的级联更改,在一定程度上保证了数据的完整性。
触发器的缺点如下:
使用触发器实现的业务逻辑在出现问题时很难进行定位,特别是涉及到多个触发器的情况下,会使后期维护变得困难。
大量使用触发器容易导致代码结构被打乱,增加了程序的复杂性,
如果需要变动的数据量较大时,触发器的执行效率会非常低。
MySQL触发器有三种:
MySQL 所支持的触发器有三种:INSERT 触发器、UPDATE 触发器和 DELETE 触发器。
1) INSERT 触发器
在 INSERT 语句执行之前或之后响应的触发器。
2) UPDATE 触发器
在 UPDATE 语句执行之前或之后响应的触发器。
3) DELETE 触发器
在 DELETE 语句执行之前或之后响应的触发器。
【相关推荐:mysql视频教程】
以上就是mysql有触发器吗的详细内容,更多请关注站长家园其它相关文章!
本文标签: mysql
转载请注明来源:mysql有触发器吗
本文永久链接地址:https://www.adminjie.com/post/13803.html
免责声明:
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
附:
二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!
版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的部分源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,若有侵犯你的权益请:提交版权证明文件到邮箱 2225329873#qq.com(#换为@) 站长会进行审查之后,情况属实的会在三个工作日内为您删除。
更多精彩内容
- VUE中V-IF条件判断改变元素的样式操作
- Discuz如何解决安装时报错run_sql_error
- 低版本VS项目在VS2019无法正常编译的问题
- PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
- Oracle数据库的实例/表空间/用户/表之间关系简单讲解
- RSA2是啥?PHP-RSA2签名验证怎么实现?
- app是什么应用程序的简称
- 华为dubal20是什么型号
- 小程序大小超限除了分包还能怎么做?如何避免和解决大小限制?
- ana an00华为是什么型号
- 电脑显示信号线无连接是什么意思
- html5中onclick是什么意思
- 超清视效是什么意思
- vivov1818a是什么手机型号
- html5的标题标记一共有几个等级

- 最新文章
-
-
linux删除所有文件的命令是什么
linux删除所有文件的命令是“rm-rf/*”;rm命令可以用于删除文件或目录,参数设置的“r”是递归删除的意思,“f”表示强制删除用于跳过rm命令的确认...
-
聊聊使用Uniapp怎么实现全局消息提示及其组件
Uniapp中怎么实现全局消息提示及其组件?下面本篇文章给大家介绍一下Uniapp全局消息提示及其组件的实现方法,希望对大家有所帮助!最近有项目需求我们能够在H...
-
归纳总结SQL语句知识点二、基础语法
本篇文章给大家带来了关于SQL的相关知识,其中主要整理了SQL语句知识的相关问题,包括了一些SQL语句的基础语法、SQL语句提升等等内容,下面一起来看一下,希望...
-
详细介绍Oracle备份与恢复
本篇文章给大家带来了关于Oracle的相关知识,其中主要整理了备份与恢复的相关问题,包括了一些关于数据保护、Oracle备份技术比较等等内容,下面一起来看一下,...
-
mysql怎么查询最大id值
在mysql中,可以使用SELECT语句查询指定表中的全部数据,然后利用max()函数返回查询结果集中id列的最大值即可,查询语法“SELECTMAX(id)...
-
- 热门文章
-
-
VUE中V-IF条件判断改变元素的样式操作
这篇文章主要介绍了VUE中V-IF条件判断改变元素的样式操作,具有很好的参考价值,希望对大家有所帮助。一起跟随想过来看看吧...
-
Discuz如何解决安装时报错run_sql_error
问题环境VMware虚拟机Centos7.3PHP7.0MySQL8.0NGINX1.14Discuz3.4问题还原本地环境为PHP5.6+MySQL5.6在安...
-
低版本VS项目在VS2019无法正常编译的问题
低版本VS项目在VS2019无法正常编译的问题这里指的编译并不准确,只是为了方便说明。后有(未安装),201?...
-
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
实现原理使用redis链表来做,因为pop操作是原子的,即使有很多用户同时到达,也是依次执行,推荐使用。实现步骤第一步,先将商品库存入队列/**.trigge...
-
Oracle数据库的实例/表空间/用户/表之间关系简单讲解
完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例。Oracle是一种数据库管理系统,是一种关系型的数据库管理系统。我们用这些高级权限账号...
-