热门标签 | 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创建

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



推荐阅读
  • 本文探讨了如何使用Scrapy框架构建高效的数据采集系统,以及如何通过异步处理技术提升数据存储的效率。同时,文章还介绍了针对不同网站采用的不同采集策略。 ... [详细]
  • binlog2sql,你该知道的数据恢复工具
    binlog2sql,你该知道的数据恢复工具 ... [详细]
  • 本文详细解析了MySQL中常见的几种错误,并提供了具体的解决方法,帮助开发者快速定位和解决问题。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • egg实现登录鉴权(七):权限管理
    权限管理包含三部分:访问页面的权限,操作功能的权限和获取数据权限。页面权限:登录用户所属角色的可访问页面的权限功能权限:登录用户所属角色的可访问页面的操作权限数据权限:登录用户所属 ... [详细]
  • C/C++ 应用程序的安装与卸载解决方案
    本文介绍了如何使用Inno Setup来创建C/C++应用程序的安装程序,包括自动检测并安装所需的运行库,确保应用能够顺利安装和卸载。 ... [详细]
  • 本文介绍了MySQL窗口函数的基本概念、应用场景及常见函数的使用方法。窗口函数在处理复杂查询时非常有用,例如计算每个用户的订单排名、环比增长率、以及动态聚合等。 ... [详细]
  • 本文介绍了如何在 Oracle 数据库中查询重复数据,并提供了多种方法来筛选和删除重复记录,包括基于单个字段和多个字段的重复数据处理。 ... [详细]
  • 解决ADODB连接Access时出现80004005错误的方法
    本文详细介绍了如何解决在使用ADODB连接Access数据库时遇到的80004005错误,包括错误原因分析和具体的解决步骤。 ... [详细]
  • 最适合初学者的编程语言
    本文探讨了适合编程新手的最佳语言选择,包括Python、JavaScript等易于上手且功能强大的语言,以及如何通过有效的学习方法提高编程技能。 ... [详细]
  • 本文介绍了如何通过安装 sqlacodegen 和 pymysql 来根据现有的 MySQL 数据库自动生成 ORM 的模型文件(model.py)。此方法适用于需要快速搭建项目模型层的情况。 ... [详细]
  • 本文介绍了用户界面(User Interface, UI)的基本概念,以及在iOS应用程序中UIView及其子类的重要性和使用方式。文章详细探讨了UIView如何作为用户交互的核心组件,以及它与其他UI控件和业务逻辑的关系。 ... [详细]
  • 本报告记录了嵌入式软件设计课程中的第二次实验,主要探讨了使用KEIL V5开发环境和ST固件库进行GPIO控制及按键响应编程的方法。通过实际操作,加深了对嵌入式系统硬件接口编程的理解。 ... [详细]
  • MVC模式下的电子取证技术初探
    本文探讨了在MVC(模型-视图-控制器)架构下进行电子取证的技术方法,通过实际案例分析,提供了详细的取证步骤和技术要点。 ... [详细]
  • Hibernate全自动全映射ORM框架,旨在消除sql,是一个持久层的ORM框架1)、基础概念DAO(DataAccessorOb ... [详细]
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社区 版权所有