Mysql多实例
一、mysql多实例介绍1.1概念mysql多实例就是在一台物理主机上运行多个数据库服务1.2作用节约运维成本,提高硬件利用率1.3 原理通过安装支持mysql多实例的软件包,实现在一台机器上开启多个...
2024.11.12原文地址:https://dwz.cn/yCYkG78b
作者:best.lei
触发器和存储过程一样,都是嵌入到MySQL的一段程序。不同的是,执行存储过程需要使用CALL语句来调用,而触发器是由事件触发某些操作,这些事件包括insert、update、delete。一旦定义了触发程序,当数据库执行这些语句时,就会激发触发器执行相应的操作。本片博客将通过实例介绍触发器的定义、创建、查看以及删除。
创建触发器触发器可以查询其他表,而且可以包含复杂的SQL语句,用于满足复杂的业务规则或要求。但在触发器中不能对被触发表进行操作。如下是触发器的创建语法:
CREATE TRIGGER trigger_name trigger_time trigger_event ON tb_name FOR EACH ROW trigger_statement
其中trigger_name表示触发器名称;trigger_time表示触发器时机,可以指定为BEFORE或AFTER;trigger_event标识触发事件,包括insert、update和delete;tb_name标识在哪张表上建立触发器;trigger_statement是触发程序体。触发程序可以使用BEGIN和END作为开始和结束,中间包含多条语句。
我们在以往的学生成绩表上创建一个触发器,该触发器记录最新插入的数据信息,代码执行如下:
创建触发器:CREATE TRIGGER p_in AFTER insert ON tb_score FOR EACH ROW BEGIN SET @info=concat(‘studentID=‘, NEW.sID, ‘, classID=‘, NEW.cID, ‘, grade=‘, NEW.grade); END //向tb_score表中插入值:insert INTO tb_score VALUE(3,1,88);查看变量@info的值:select @info;查看触发器查看触发器是指查看数据库中已经存在的触发器的定义、状态和语法信息等。本节将介绍两种查看触发器的方法,分别是SHOW TRIGGERS和在triggers表中查看触发器信息。
1.SHOW TRIGGERS语句查看触发器信息,语法格式为:SHOW TRIGGERS\G;
2..当触发器较少时,可以通过SHOW TRIGGERS查看。如果触发器很多,且需要查看特定触发器的信息,则通过在information_schema数据库中的triggers表中查找更方便。具体语法格式如下:
select * FROM information_schema.trigger WHERE condition; 不指定condition则默认查询所有的触发器。如查看指定名称的触发器的详细信息:select * FROM information_schema.triggers WHERE trigger_name=‘p_in‘\G;如上执行结果显示:TRIGGER_SCHEMA表示触发器所在的数据库;TRIGGER_NAME表示触发器的名称;EVENT_OBJECT_TABLE表示在哪个数据表上触发;ACTION_STATEMENT表示触发器触发时执行的具体操作;ACTION_ORIENTATION表示在每条记录上都触发;ACTION_TIMING表示触发的时刻是AFTER。
删除触发器使用drop TRIGGER语句删除MySQL中已经存在的触发器,基本语句格式为:drop TRIGGER [schema_name.]trigger_name;
如想删除创建的p_in触发器,只需执行:drop TRIGGER test.p_in;
注意事项在使用触发器时,对于一张表的相同事件只能创建一个触发器。如对表tb_score的BEFORE insert事件只能创建一个触发器。及时删除不需要的触发器。
一、mysql多实例介绍1.1概念mysql多实例就是在一台物理主机上运行多个数据库服务1.2作用节约运维成本,提高硬件利用率1.3 原理通过安装支持mysql多实例的软件包,实现在一台机器上开启多个...
2024.11.12简单数据查询操作增删改查是数据表操作的重要组成部分,尤其是数据表的查询更是数据库与各类应用交互的频繁操作之一。本文课主要介绍简单数据查询语句。查询语句基本语法查询语句是实现数据查询的SQL语句,用于实...
2024.11.15一、概述下面分享几个查询mysql存储过程和触发器的语句二、相关语句2.1 触发器列出 MySQL 数据库中的触发器select trigger_schema as trigger_database,...
2024.11.12触发器触发器(TRIGGER):数据库中指定操作在执行前/后,系统自动执行其他操作1)本质:被指定关联到表的数据对象2)每个表的每个触发事件仅能仅能关联一个触发器3)触发器是一类特殊的存储过程,用于保...
2024.11.12什么是触发器触发器,就是一种特殊的存储过程。触发器和存储过程一样是一个能够完成特定功能、存储在数据库服务器上的SQL片段,但是触发器无需调用,当对数据库表中的数据执行DML操作时自动触发这个SQL片段...
2024.11.08