MySQL数据库查看触发器和MySQL修改和删除触发器(DROP TRIGGER)
MySQL数据库查看触发器和MySQL修改和删除触发器(DROP TRIGGER)
MySQL查看触发器
查看触发器是指查看数据库中已经存在的触发器的定义、状态和语法信息等。MySQL 中查看触发器的方法包括 SHOW 语句和查询 数据库下的 数据表等。本节将详细介绍这两种查看触发器的方法。
SHOW 语句查看触发器信息
在 MySQL 中,可以通过 SHOW 语句来查看触发器的基本信息,语法格式如下:
SHOW TRIGGERS;
示例 1
首先创建一个数据表 ,表中有两个字段MySQL数据库查看触发器和MySQL修改和删除触发器(DROP TRIGGER),分别是 INT 类型的 和 类型的 。SQL 语句和运行结果如下:
mysql> CREATE TABLE account(
-> accnum INT(4),
-> amount DECIMAL(10,2));
Query OK, 0 rows affected (0.49 sec)
创建一个名为 的触发器,每次 表更新数据之后都向 数据表中插入一条数据。创建数据表 的 SQL 语句和运行结果如下:
mysql> CREATE TABLE myevent(
-> id INT(11) DEFAULT NULL,
-> evtname CHAR(20) DEFAULT NULL);
Query OK, 0 rows affected (0.26 sec)
创建 触发器的 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 语句查看触发器(在 SHOW 命令后添加G,这样显示信息会比较有条理),SQL 语句和运行结果如下:
mysql> SHOW TRIGGERS G
*************************** 1. row ***************************
Trigger: trigupdate
Event: UPDATE
Table: account
Statement: INSERT INTO myevent VALUES(1,'after update')
Timing: AFTER
Created: 2020-02-24 14:07:15.08
sql_mode: STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Definer: root@localhost
character_set_client: gbk
collation_connection: gbk_chinese_ci
Database Collation: latin1_swedish_ci
1 row in set (0.09 sec)
由运行结果可以看到触发器的基本信息。对以上显示信息的说明如下:
mysql数据库基础技能全程实战
SHOW 语句用来查看当前创建的所有触发器的信息。因为该语句无法查询指定的触发器,所以在触发器较少的情况下,使用该语句会很方便。如果要查看特定触发器的信息或者数据库中触发器较多时,可以直接从 数据库中的 数据表中查找。
在表中查看触发器信息

在 MySQL 中,所有触发器的信息都存在 数据库的 表中sql 查看触发器,可以通过查询命令 来查看sql 查看触发器MySQL数据库查看触发器和MySQL修改和删除触发器(DROP TRIGGER),具体的语法如下:
SELECT * FROM information_schema.triggers WHERE trigger_name= '触发器名';
其中,'触发器名'用来指定要查看的触发器的名称,需要用单引号引起来。这种方式可以查询指定的触发器,使用起来更加方便、灵活。
示例 2
下面使用 命令查看 触发器,SQL 语句如下:
SELECT * FROM information_schema.triggers WHERE TRIGGER_NAME= 'trigupdate'G
上述命令通过 WHERE 来指定需要查看的触发器的名称,运行结果如下:
mysql> SELECT * FROM information_schema.triggers WHERE TRIGGER_NAME= 'trigupdate'G
*************************** 1. row ***************************
TRIGGER_CATALOG: def
TRIGGER_SCHEMA: test
TRIGGER_NAME: trigupdate
EVENT_MANIPULATION: UPDATE
EVENT_OBJECT_CATALOG: def
EVENT_OBJECT_SCHEMA: test
EVENT_OBJECT_TABLE: account
ACTION_ORDER: 1
ACTION_CONDITION: NULL
ACTION_STATEMENT: INSERT INTO myevent VALUES(1,'after update')
ACTION_ORIENTATION: ROW
ACTION_TIMING: AFTER
ACTION_REFERENCE_OLD_TABLE: NULL
ACTION_REFERENCE_NEW_TABLE: NULL
ACTION_REFERENCE_OLD_ROW: OLD
ACTION_REFERENCE_NEW_ROW: NEW
CREATED: 2020-02-24 16:07:15.08
SQL_MODE: STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
DEFINER: root@localhost
CHARACTER_SET_CLIENT: gbk
COLLATION_CONNECTION: gbk_chinese_ci
DATABASE_COLLATION: latin1_swedish_ci
1 row in set (0.22 sec)
由运行结果可以看到触发器的详细信息。对以上显示信息的说明如下:
上述 SQL 语句也可以不指定触发器名称,这样将查看所有的触发器,SQL 语句如下:
SELECT * FROM information_schema.triggers G
这个语句会显示 数据表中所有的触发器信息。
MySQL修改和删除触发器(DROP )
修改触发器可以通过删除原触发器,再以相同的名称创建新的触发器。
基本语法
与其他 MySQL 数据库对象一样,可以使用 DROP 语句将触发器从数据库中删除。
语法格式如下:
DROP TRIGGER [ IF EXISTS ] [数据库名]
语法说明如下:
1) 触发器名
要删除的触发器名称。
2) 数据库名

可选项。指定触发器所在的数据库的名称。若没有指定,则为当前默认的数据库。
3) 权限
执行 DROP 语句需要 SUPER 权限。
4) IF
可选项。避免在没有触发器的情况下删除触发器。
注意:删除一个表的同时,也会自动删除该表上的触发器。另外,触发器不能更新或覆盖,为了修改一个触发器,必须先删除它,再重新创建。
删除触发器
使用 DROP 语句可以删除 MySQL 中已经定义的触发器。
【实例】删除 触发器,输入的 SQL 语句和执行过程如下所示。
mysql> DROP TRIGGER double_salary;
Query OK, 0 rows affected (0.03 sec)
删除 触发器后,再次向数据表 中插入记录时,数据表 的数据不再发生变化sql 查看触发器,如下所示。
mysql> INSERT INTO tb_emp6
-> VALUES (3,'C',1,200);
Query OK, 1 row affected (0.09 sec)
mysql> SELECT * FROM tb_emp6;
+----+------+--------+--------+
| id | name | deptId | salary |
+----+------+--------+--------+
| 1 | A | 1 | 1000 |
| 2 | B | 1 | 500 |
| 3 | C | 1 | 200 |
+----+------+--------+--------+
3 rows in set (0.00 sec)
mysql> SELECT * FROM tb_emp7;
+----+------+--------+--------+
| id | name | deptId | salary |
+----+------+--------+--------+
| 1 | A | 1 | 2000 |
| 2 | B | 1 | 1000 |
+----+------+--------+--------+
2 rows in set (0.00 sec)
大厂资深数据库工程师mysql数据库实战训练

1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299
资源库 - 资源分享下载网 » MySQL数据库查看触发器和MySQL修改和删除触发器(DROP TRIGGER)
常见问题FAQ
- 关于资源售价和售后服务的说明?
- 代码有没有售后服务和技术支持?
- 有没有搭建服务?
- 链接地址失效了怎么办?
- 关于解压密码

