国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

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

2024-07-24 12:34:20
字體:
來源:轉載
供稿:網友
  查看觸發器是指查看數據庫中已經存在的觸發器的定義、狀態和語法信息等。
 
  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查詢觸發器的語句是什么”的內容就介紹到這里了,感謝大家的閱讀。

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大渡口区| 唐山市| 宜丰县| 韶山市| 高陵县| 饶平县| 乌海市| 巴东县| 武胜县| 巴东县| 巨野县| 长汀县| 射洪县| 诸城市| 宜丰县| 西贡区| 鲁山县| 渭南市| 民丰县| 弋阳县| 江津市| 武城县| 洛阳市| 水城县| 荃湾区| 广丰县| 镇康县| 天全县| 新竹县| 于田县| 湄潭县| 娄底市| 岳阳县| 沙河市| 康定县| 旬阳县| 英山县| 理塘县| 楚雄市| 金阳县| 三亚市|