久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

mysql查詢觸發器的語句是什么

197次閱讀
沒有評論

共計 2590 個字符,預計需要花費 7 分鐘才能閱讀完成。

這篇文章主要介紹“mysql 查詢觸發器的語句是什么”的相關知識,丸趣 TV 小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“mysql 查詢觸發器的語句是什么”文章能幫助大家解決問題。

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 查詢觸發器的語句是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注丸趣 TV 行業資訊頻道,丸趣 TV 小編每天都會為大家更新不同的知識點。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-13發表,共計2590字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 满洲里市| 澜沧| 农安县| 江川县| 江阴市| 洞口县| 元朗区| 呼伦贝尔市| 云梦县| 莱西市| 浮山县| 清涧县| 郓城县| 特克斯县| 鹤庆县| 清水河县| 曲靖市| 通化县| 洛宁县| 静宁县| 乌兰浩特市| 盘锦市| 万载县| 大新县| 定边县| 什邡市| 贵德县| 通渭县| 思茅市| 安顺市| 合阳县| 铜山县| 右玉县| 通海县| 合山市| 丹东市| 彭山县| 任丘市| 兴海县| 奉化市| 陇西县|