热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

小白的mysql学习笔记(十二)——触发器的概念与创建

一、触发器的概念我们都知道,需求带动进步。问题一:那么我们为什么需要触发器呢?试想这样一种情况,假如你事先创建了一个学生记录表,这个表的字段

一、触发器的概念

我们都知道,需求带动进步。

问题一:那么我们为什么需要触发器呢?

试想这样一种情况,假如你事先创建了一个学生记录表,这个表的字段包括:学生名字、学生数,那么每次添加一条学生记录,学生总数是否也需要发生改变?

像这样,在对表进行修改的同时也需要进行一些自动处理,触发器就可以发挥作用。

触发器,由什么触发?答:由表事件触发。

准确来说,触发器是由事件触发、激活从而实现执行的数据库对象。

问题二:哪些事件触发呢或者说出现哪些语句会自动执行设置的操作呢?

  • DELETE语句

  • INSERT语句

  • UPDATE语句


二、触发器的创建

按照激活触发器执行语句的数目,分为“一条执行语句的触发器”和“多条执行语句的触发器”

1、创建“一条执行语句的触发器”

#语法形式#
CREATE TRIGGER trigger_name BEFORE(AFTER) trigger_event ON table_name FOR EACH ROW trigger_STMT
注释:
trigger_name:创建的触发器的名字
trigger_event:触发触发器的条件,包含DELETE INSERT UPDATE语句
table_name:触发事件操作表的名字
FOR EACH ROW:操作表上任何一条记录操作满足触发条件,都会触发触发器
trigger_STMT:激活触发器后执行的语句

小白的mysql学习笔记(十二)——触发器的概念与创建 - 文章图片

2、创建“多条执行语句的触发器”

#语法形式#
DELIMITER @@//设置结束符号为"@@",因为";"为执行语句的结束标志
CREATE TRIGGER trigger_name BEFORE(AFTER) trigger_event ON table_name FOR EACH ROW
BEGIN
trigger_STMT
END
@@
DELIMITER ;//还原结束符号为“;”

小白的mysql学习笔记(十二)——触发器的概念与创建 - 文章图片

注:sqlyog亦可创建触发器,但由于本系列学习笔记主要在于学习sql语句,因此不再用sqlyog创建

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



推荐阅读
  • 探讨如何从数据库中按分组获取最大N条记录的方法,并分享新年祝福。本文提供多种解决方案,适用于不同数据库系统,如MySQL、Oracle等。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 自己用过的一些比较有用的css3新属性【HTML】
    web前端|html教程自己用过的一些比较用的css3新属性web前端-html教程css3刚推出不久,虽然大多数的css3属性在很多流行的浏览器中不支持,但我个人觉得还是要尽量开 ... [详细]
  • MySQL DateTime 类型数据处理及.0 尾数去除方法
    本文介绍如何在 MySQL 中处理 DateTime 类型的数据,并解决获取数据时出现的.0尾数问题。同时,探讨了不同场景下的解决方案,确保数据格式的一致性和准确性。 ... [详细]
  • 本文介绍如何在PostgreSQL数据库中正确插入和处理JSON数据类型,确保数据完整性和避免常见错误。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 本文介绍了如何使用Java中的同步方法和同步代码块来实现两个线程的交替打印。一个线程负责打印1到52的数字,另一个线程负责打印A到Z的字母,确保输出顺序为12A34B...5152Z。 ... [详细]
  • C# LiNQ 查询 join连接
    C# LiNQ 查询 join连接 ... [详细]
  • 本文详细探讨了 Django 的 ORM(对象关系映射)机制,重点介绍了其如何通过 Python 元类技术实现数据库表与 Python 类的映射。此外,文章还分析了 Django 中各种字段类型的继承结构及其与数据库数据类型的对应关系。 ... [详细]
  • 探讨了在有序数列中实现多种查询和修改操作的高效数据结构设计,主要使用线段树与平衡树(Treap)结合的方法。 ... [详细]
  • 深入理解T-SQL中的NULL与三值逻辑
    本文探讨了SQL Server中的三值逻辑,解释了谓词计算结果为TRUE、FALSE和UNKNOWN的规则。通过具体示例,详细说明了如何正确处理NULL值,并探讨了在不同约束条件下的行为。 ... [详细]
  • Redis Hash 数据结构详解
    本文详细介绍了 Redis 中的 Hash 数据类型及其常用命令。Hash 类型用于存储键值对集合,支持多种操作如插入、查询、更新和删除字段值。此外,文章还探讨了 Hash 类型在实际业务场景中的应用,并提供了优化建议。 ... [详细]
  • FinOps 与 Serverless 的结合:破解云成本难题
    本文探讨了如何通过 FinOps 实践优化 Serverless 应用的成本管理,提出了首个 Serverless 函数总成本估计模型,并分享了多种有效的成本优化策略。 ... [详细]
  • 本文介绍了 Winter-1-C A + B II 问题的详细解题思路和测试数据。该问题要求计算两个大整数的和,并输出结果。我们将深入探讨如何处理大整数运算,确保在给定的时间和内存限制下正确求解。 ... [详细]
  • 本文探讨了2012年4月期间,淘宝在技术架构上的关键数据和发展历程。涵盖了从早期PHP到Java的转型,以及在分布式计算、存储和网络流量管理方面的创新。 ... [详细]
author-avatar
富农032884
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有