91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql觸發器之觸發器的增刪改查操作示例

發布時間:2020-09-01 12:44:14 來源:腳本之家 閱讀:259 作者:luyaran 欄目:MySQL數據庫

本文實例講述了mysql觸發器之觸發器的增刪改查操作。分享給大家供大家參考,具體如下:

我們在創建觸發器后,可以在包含觸發器定義文件的數據文件夾中顯示其定義。觸發器作為純文本文件存儲在以下數據庫文件夾中:

/data_folder/database_name/table_name.trg

我們還可通過查詢information_schema數據庫中的triggers表來顯示觸發器,如下所示:

SELECT 
  *
FROM
  information_schema.triggers
WHERE
  trigger_schema = 'database_name'
    AND trigger_name = 'trigger_name';

該語句允許您查看觸發器的內容及其元數據,例如:關聯表名和定義器,這是創建觸發器的mysql用戶的名稱。

如果要檢索指定數據庫中的所有觸發器,則需要使用以下SELECT語句從information_schema數據庫中的triggers表查詢數據:

SELECT
  *
FROM
  information_schema.triggers
WHERE
  trigger_schema = 'database_name';

要查找與特定表相關聯的所有觸發器:

SELECT 
  *
FROM
  information_schema.triggers
WHERE
  trigger_schema = 'database_name'
    AND event_object_table = 'table_name';

我們來看下employees表相關聯的所有觸發器:

SELECT * FROM information_schema.triggers
WHERE trigger_schema = '你的數據庫名稱'
    AND event_object_table = 'employees';

其實在特定數據庫中顯示觸發器的另一種方法是使用SHOW TRIGGERS語句,語法如下所示:

SHOW TRIGGERS [FROM|IN] database_name
[LIKE expr | WHERE expr];

例如,如果要查看當前數據庫中的所有觸發器,可以使用SHOW TRIGGERS語句,如下所示:

SHOW TRIGGERS;

要獲取特定數據庫中的所有觸發器,請在SHOW TRIGGERS語句中指定數據庫名稱,比如要查詢數據庫:luyaran下的所有觸發器,如下所示:

SHOW TRIGGERS FROM luyaran;

要獲取與特定表相關聯的所有觸發器,可以使用SHOW TRIGGERS語句中的WHERE子句。 以下語句返回與employees表相關聯的所有觸發器:

SHOW TRIGGERS FROM luyaran
WHERE `table` = 'employees';

這里要注意下,當我們使用反引號包裝table列,因為table是MySQL中的保留關鍵字。然后,當執行SHOW TRIGGERS語句時,MySQL返回以下列:

  • Trigger:存儲觸發器的名稱,例如before_employee_update觸發器。
  • Event:指定事件,例如,調用觸發器的INSERT,UPDATE或DELETE。
  • Table:指定觸發器與例如相關聯的表,如employees表。
  • Statement:存儲調用觸發器時要執行的語句或復合語句。
  • Timing:接受兩個值:BEFORE和AFTER,它指定觸發器的激活時間。
  • Created:在創建觸發器時記錄創建的時間。
  • sql_mode:指定觸發器執行時的SQL模式。
  • Definer:記錄創建觸發器的帳戶。

在這里我們得注意下,要允許上述語句,我們至少得擁有SUPER權限。

完事我們來嘗試使用DROP TRIGGER語句來刪除現有的觸發器:

DROP TRIGGER table_name.trigger_name;

如果要刪除與employees表相關聯的before_employees_update觸發器,則可以執行以下語句:

DROP TRIGGER employees.before_employees_update;

我們如果要修改觸發器,必須首先刪除它并使用新的代碼重新創建。因為在MySQL中沒有類似:ALTER TRIGGER語句,因此,我們不能像修改其他數據庫對象,如表,視圖和存儲過程那樣修改觸發器。

好啦,本次記錄就到這里了。

更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》、《MySQL數據庫鎖相關技巧匯總》及《MySQL常用函數大匯總》

希望本文所述對大家MySQL數據庫計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

和平区| 泽库县| 贞丰县| 六安市| 观塘区| 常山县| 汾阳市| 鄯善县| 景宁| 大宁县| 周至县| 许昌市| 和顺县| 巫山县| 紫金县| 山阴县| 大足县| 新竹市| 扬中市| 永安市| 商城县| 西平县| 闽清县| 竹山县| 潜山县| 明溪县| 宁河县| 彩票| 蒙自县| 香格里拉县| 普安县| 昆明市| 扬中市| 尚义县| 叙永县| 五大连池市| 伊川县| 商都县| 雷州市| 玉田县| 荥经县|