觸發器是用戶定義事務命令的集合,當對一個表進行INSERT、UPDATE和DELETE操作時,會自動執行這些命令,保證數據的完整性和安全性。
觸發器按執行語句分可分為:一條執行語句的觸發器和多條執行語句的觸發器。
1、創建有一條執行語句的觸發器
語法形式:
create trigger trigger_name
before|after trigger_event
on table_name for each row trigger_stmt;
其中before|after參數指定了觸發器執行的時間,前者指定在觸發器事件之前執行觸發器語句,后者指定在觸發器事件之后執行觸發器語句。
for each row參數表示任何一條記錄上的操作滿足觸發器事件都會出發該觸發器。
trigger-event表示觸發器執行條件;trigger-stmt表示激活觸發器后被執行的語句。
創建表,然后創建單條執行語句的觸發器
向表中插入一條數據,啟動觸發器,查看觸發器執行的SQL結果。
2、創建多條執行語句的觸發器
語法形式:
create trigger trigger_name
before|after trigger_event
on table_name for each row
begin
trigger_stmt
end
多條執行語句的觸發器,位於begin和end之間,多條執行語句之間用;隔開
采用關鍵字delimiter關鍵字設置結束符號,插入記錄后,由於原來的觸發器還在,所以查詢結果多了三條新記錄。
3、通過show triggers語句查看觸發器
4、通過查看系統表trigger實現查看觸發器
5、刪除觸發器
語法形式:
drop trigger triggrt_name;
查看觸發器,刪除觸發器,再次查看觸發器。