MySQL SHOW TRIGGERS

摘要:在本教程中,您将学习如何使用 MySQL SHOW TRIGGERS语句来显示 MySQL 服务器中的所有触发器。

MySQL SHOW TRIGGER语句简介

SHOW TRIGGERS语句显示所有触发器。下面说明了SHOW TRIGGERS语句的基本语法:

SHOW TRIGGERS
[{FROM | IN} database_name]
[LIKE 'pattern' | WHERE search_condition];
Code language: SQL (Structured Query Language) (sql)

在此语法中,如果不使用最后两个子句, SHOW TRIGGERS将返回所有数据库中的所有触发器:

SHOW TRIGGERS;
Code language: SQL (Structured Query Language) (sql)

要显示特定数据库中的所有触发器,请在FROMIN关键字后面指定数据库名称,如下所示:

SHOW TRIGGERS 
FROM database_name;
Code language: SQL (Structured Query Language) (sql)

或者

SHOW TRIGGERS
IN database_name;
Code language: SQL (Structured Query Language) (sql)

要根据模式查找触发器,请使用LIKE子句:

SHOW TRIGGERS 
LIKE 'pattern';
Code language: SQL (Structured Query Language) (sql)

或者

SHOW TRIGGERS 
FROM database_name
LIKE 'pattern';
Code language: SQL (Structured Query Language) (sql)

LIKE子句的含义与SELECT语句中的含义相同。

要查找与条件匹配的触发器,可以使用WHERE子句:

SHOW TRIGGERS 
WHERE search_condition;
Code language: SQL (Structured Query Language) (sql)

或者

SHOW TRIGGERS 
FROM database_name
WHERE search_condition;
Code language: SQL (Structured Query Language) (sql)

SHOW TRIGGERS语句返回包含以下列的结果集:

  • 触发器:触发器的名称
  • event:调用触发器的事件,例如INSERTUPDATEDELETE
  • table:触发器所属的表。
  • 语句:触发器的主体。
  • Timing:触发器的激活时间,可以是BEFOREAFTER
  • created:触发器的创建时间。
  • sql_mode:触发器执行时的SQL_MODE
  • 定义者:创建触发器的用户帐户。
  • 字符集客户端
  • 排序规则_连接
  • 数据库整理

请注意,要执行SHOW TRIGGERS语句,您需要具有SUPER权限。

MySQL SHOW TRIGGER语句示例

以下示例使用SHOW TRIGGERS语句获取当前 MySQL Server 中所有数据库中的所有触发器:

SHOW TRIGGERS;
Code language: SQL (Structured Query Language) (sql)

以下示例显示classicmodels数据库中的所有触发器:

SHOW TRIGGERS
FROM classicmodels;
Code language: SQL (Structured Query Language) (sql)

以下语句显示与employees表关联的所有触发器:

SHOW TRIGGERS
FROM classicmodels
WHERE table = 'employees';
Code language: SQL (Structured Query Language) (sql)

概括

  • 使用SHOW TRIGGERS语句获取所有触发器
  • 使用SHOW TRIGGERS FROM语句获取数据库中的所有触发器。
  • 使用SHOW TRIGGERS FROM ... WHERE ...获取与表关联的所有触发器。
本教程有帮助吗?