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视频教程】
以上是mysql查詢觸發器的語句有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

MySQL是一個開源的關係型數據庫管理系統。 1)創建數據庫和表:使用CREATEDATABASE和CREATETABLE命令。 2)基本操作:INSERT、UPDATE、DELETE和SELECT。 3)高級操作:JOIN、子查詢和事務處理。 4)調試技巧:檢查語法、數據類型和權限。 5)優化建議:使用索引、避免SELECT*和使用事務。

可以通過以下步驟打開 phpMyAdmin:1. 登錄網站控制面板;2. 找到並點擊 phpMyAdmin 圖標;3. 輸入 MySQL 憑據;4. 點擊 "登錄"。

使用 Navicat Premium 創建數據庫:連接到數據庫服務器並輸入連接參數。右鍵單擊服務器並選擇“創建數據庫”。輸入新數據庫的名稱和指定字符集和排序規則。連接到新數據庫並在“對象瀏覽器”中創建表。右鍵單擊表並選擇“插入數據”來插入數據。

MySQL是一種開源的關係型數據庫管理系統,主要用於快速、可靠地存儲和檢索數據。其工作原理包括客戶端請求、查詢解析、執行查詢和返回結果。使用示例包括創建表、插入和查詢數據,以及高級功能如JOIN操作。常見錯誤涉及SQL語法、數據類型和權限問題,優化建議包括使用索引、優化查詢和分錶分區。

可在 Navicat 中通過以下步驟新建 MySQL 連接:打開應用程序並選擇“新建連接”(Ctrl N)。選擇“MySQL”作為連接類型。輸入主機名/IP 地址、端口、用戶名和密碼。 (可選)配置高級選項。保存連接並輸入連接名稱。

選擇MySQL的原因是其性能、可靠性、易用性和社區支持。 1.MySQL提供高效的數據存儲和檢索功能,支持多種數據類型和高級查詢操作。 2.採用客戶端-服務器架構和多種存儲引擎,支持事務和查詢優化。 3.易於使用,支持多種操作系統和編程語言。 4.擁有強大的社區支持,提供豐富的資源和解決方案。

Redis 使用單線程架構,以提供高性能、簡單性和一致性。它利用 I/O 多路復用、事件循環、非阻塞 I/O 和共享內存來提高並發性,但同時存在並發性受限、單點故障和不適合寫密集型工作負載的局限性。

MySQL和SQL是開發者必備技能。 1.MySQL是開源的關係型數據庫管理系統,SQL是用於管理和操作數據庫的標準語言。 2.MySQL通過高效的數據存儲和檢索功能支持多種存儲引擎,SQL通過簡單語句完成複雜數據操作。 3.使用示例包括基本查詢和高級查詢,如按條件過濾和排序。 4.常見錯誤包括語法錯誤和性能問題,可通過檢查SQL語句和使用EXPLAIN命令優化。 5.性能優化技巧包括使用索引、避免全表掃描、優化JOIN操作和提升代碼可讀性。
