站长家园(原代码之家)(www.adminjie.com)网站源码,微信源码,游戏源码,商业源码分享平台。
当前位置:网站首页 技术文章 网络编程 正文

mysql查询触发器的语句有哪些

时间:2022-06-15 [网络编程]作者:fabuyuan 浏览:4 次

mysql查询触发器的语句有两个:1、“SHOW TRIGGERS [FROM 数据库名];”语句,可查看当前数据库或指定数据库触发器的基本信息。2、“SELECT * FROM information_schema.triggers WHERE trigger_name= '触发器名';”语句,用于查看特定触发器的信息,可获取触发器的内容及其元数据,例如关联的表名和定义器。

本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。

查看触发器是指查看数据库中已经存在的触发器的定义、状态和语法信息等。

MySQL 中查看触发器的方法有两种:

  • SHOW TRIGGERS 语句

  • 查询 information_schema 数据库下的 triggers 数据表等

1、SHOW TRIGGERS语句查看触发器信息

在 MySQL 中,可以通过 SHOW TRIGGERS 语句来查看触发器的基本信息,语法格式如下:

SHOW TRIGGERS [FROM 数据库名];

FROM 数据库名:是可选语句,如果要查看当前数据库中的所有触发器就省略;如果要获取特定数据库中的所有触发器,就不省略,并指定数据库名称。

示例 1

首先创建一个数据表 account,表中有两个字段,分别是 INT 类型的 accnum 和 DECIMAL 类型的 amount。SQL 语句和运行结果如下:

mysql> CREATE TABLE account(
    -> accnum INT(4),
    -> amount DECIMAL(10,2));
Query OK, 0 rows affected (0.49 sec)

创建一个名为 trigupdate 的触发器,每次 account 表更新数据之后都向 myevent 数据表中插入一条数据。创建数据表 myevent 的 SQL 语句和运行结果如下:

mysql> CREATE TABLE myevent(
    -> id INT(11) DEFAULT NULL,
    -> evtname CHAR(20) DEFAULT NULL);
Query OK, 0 rows affected (0.26 sec)

创建 trigupdate 触发器的 SQL 代码如下:

mysql> CREATE TRIGGER trigupdate AFTER UPDATE ON account
    -> FOR EACH ROW INSERT INTO myevent VALUES(1,'after update');
Query OK, 0 rows affected (0.15 sec)

使用 SHOW TRIGGERS 语句查看触发器(在 SHOW TRIGGERS 命令后添加\G,这样显示信息会比较有条理),SQL 语句和运行结果如下:

mysql> SHOW TRIGGERS \G

由运行结果可以看到触发器的基本信息。对以上显示信息的说明如下:

  • Trigger 表示触发器的名称,在这里触发器的名称为 trigupdate;

  • Event 表示激活触发器的事件,这里的触发事件为更新操作 UPDATE;

  • Table 表示激活触发器的操作对象表,这里为 account 表;

  • Statement 表示触发器执行的操作,这里是向 myevent 数据表中插入一条数据;

  • Timing 表示触发器触发的时间,这里为更新操作之后(AFTER);

  • 还有一些其他信息,比如触发器的创建时间、SQL 的模式、触发器的定义账户和字符集等,这里不再一一介绍。

SHOW TRIGGERS 语句用来查看当前创建的所有触发器的信息。因为该语句无法查询指定的触发器,所以在触发器较少的情况下,使用该语句会很方便。如果要查看特定触发器的信息或者数据库中触发器较多时,可以直接从 information_schema 数据库中的 triggers 数据表中查找。

2、在triggers表中查看触发器信息

在 MySQL 中,所有触发器的信息都存在 information_schema 数据库的 triggers 表中,可以通过查询命令 SELECT 来查看,具体的语法如下:

SELECT * FROM information_schema.triggers WHERE trigger_name= '触发器名';

其中,'触发器名'用来指定要查看的触发器的名称,需要用单引号引起来。这种方式可以查询指定的触发器,使用起来更加方便、灵活。

这种方式允许您查看触发器的内容及其元数据,例如关联的表名和定义器,这是创建触发器的MySQL用户的名称。

示例 2

下面使用 SELECT 命令查看 trigupdate 触发器,SQL 语句如下:

SELECT * FROM information_schema.triggers WHERE TRIGGER_NAME= 'trigupdate'\G

上述命令通过 WHERE 来指定需要查看的触发器的名称,运行结果如下:

mysql> SELECT * FROM information_schema.triggers WHERE TRIGGER_NAME= 'trigupdate'\G

由运行结果可以看到触发器的详细信息。对以上显示信息的说明如下:

  • TRIGGER_SCHEMA 表示触发器所在的数据库;

  • TRIGGER_NAME 表示触发器的名称;

  • EVENT_OBJECT_TABLE 表示在哪个数据表上触发;

  • ACTION_STATEMENT 表示触发器触发的时候执行的具体操作;

  • ACTION_ORIENTATION 的值为 ROW,表示在每条记录上都触发;

  • ACTION_TIMING 表示触发的时刻是 AFTER;

  • 还有一些其他信息,比如触发器的创建时间、SQL 的模式、触发器的定义账户和字符集等,这里不再一一介绍。

上述 SQL 语句也可以不指定触发器名称,这样将查看所有的触发器,SQL 语句如下:

SELECT * FROM information_schema.triggers \G

这个语句会显示 triggers 数据表中所有的触发器信息。

【相关推荐:mysql视频教程

以上就是mysql查询触发器的语句有哪些的详细内容,更多请关注站长家园其它相关文章!

本文标签:  mysql

转载请注明来源:mysql查询触发器的语句有哪些

本文永久链接地址:https://www.adminjie.com/post/13500.html

免责声明:
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

附:
二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!

版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的部分源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,若有侵犯你的权益请:提交版权证明文件到邮箱 2225329873#qq.com(#换为@) 站长会进行审查之后,情况属实的会在三个工作日内为您删除。

  • 站长家园(原代码之家)会员升级
  • 最新文章
    • bootstrap是免费的吗

      bootstrap是免费的吗

      bootstrap是免费的;bootstrap是美国Twitter公司的设计师“MarkOtto”和“JacobThornton”合作基于HTML、CSS、...

    • Bootstrap是web容器吗

      Bootstrap是web容器吗

      Bootstrap不是web容器;web容器是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,web容器就是处理从客户端发出的请求,而Bootstra...

    • linux下的开源数据库有哪些

      linux下的开源数据库有哪些

      linux下的开源数据库有:1、MySQL,是一个开源的关系型数据库管理系统;2、PostgreSQL,是一款“对象-关系”型数据库管理系统;3、MongoDB...

    • linux ps是什么的缩写

      linux ps是什么的缩写

      在linux中,ps是“ProcessStatus”的缩写,是监控进程的命令,通过该命令可以查看系统中所有运行进程的详细信息,例如进程的运行状态、进程是否结束...

    • mysql能在linux中使用吗

      mysql能在linux中使用吗

      mysql能在linux中使用。mysql是一个跨平台的关系型数据库管理系统,支持Linux、MacOS、Windows等多种操作系统;且linux常作为网站...

    热门文章