您好,登錄后才能下訂單哦!
day06 MySQL數據庫提升篇-----觸發器
一、觸發器概述:
觸發器是什么?能有什么作用?能給我們帶來什么樣的操作數據庫的方法這都在這里學一一的告訴大家。觸發器原理類似于扳機的原理,當你一點擊觸發的時候就會產生相應的后續動作。下面就具體的創建和使用一下觸發器。
二、觸發器(trigger):
1、創建觸發器
create trigger 觸發器名 before | after 觸發事件 on 表名 for each row begin 執行語句; end; 譯: before | after:表示觸發器執行的時間,前者是表示觸發前執行, 后者是表示觸發時間之后執行 觸發事件:觸發事件代表“insert”、“update”、“delete”三種操作 表名:指定的觸發時間操作的表的名稱 for each row :表示任何一條記錄上的操作滿足觸發器事件都會觸發該觸發器 begin ... end:表示開始到結束標簽。 執行語句:表示觸發器被觸發以后執行的程序。
實例一:
創建一個響應delete操作的觸發器 create trigger dlt after delete on student for echo row begin delete username from student; end; 譯: 創建的觸發器名:dlt 觸發器執行時間:after 事件名:刪除操作(delete) 表名:student 執行語句:從begin.....end之間的刪除語句。
2、創建多個執行語句的觸發器
create trigger 觸發器名 before | after 觸發事件 on 表名 for each row begin 執行語句1; 執行語句2; 執行語句3; end; 譯: before | after:表示觸發器執行的時間,前者是表示觸發前執行, 后者是表示觸發時間之后執行 觸發事件:觸發事件代表“insert”、“update”、“delete”三種操作 表名:指定的觸發時間操作的表的名稱 for each row :表示任何一條記錄上的操作滿足觸發器事件都會觸發該觸發器 begin ... end:表示開始到結束標簽。 執行語句1:表示觸發器被觸發以后執行的程序1。 執行語句2:表示觸發器被觸發以后執行的程序2。 執行語句3:表示觸發器被觸發以后執行的程序3。
實例二:
創建一個響應delete操作的多個觸發器 create trigger dlt after delete on student for echo row begin insert into timelog(savetime) values(new()); insert into timeinfo(info) values('deleteact'); end; 譯: 創建的觸發器名:dlt 觸發器執行時間:after 事件名:刪除操作(delete) 表名:student 執行語句體:從begin.....end之間的刪除語句。
3、查看觸發器
show trigger;
3.1、查看trigger表中觸發器信息
select * from infomation_schema.trigger; 譯: infomation_schema:是MySQL中默認存在的數據庫,用于記錄觸發器信息的數據表
3.2、方法二查看
select * from infomation_schema.trigger where trigger_name='觸發器名稱';
4、應用觸發器
觸發器的應用就是在你創建成功以后,單獨的向表中執行相應的sql語句操作。通過查詢去看看你執行的sql語句是否成功。查看timeinfo數據表的插入情況好而被首先執行的順序。
5、刪除觸發器
drop trigger 觸發器名稱;
三、結束語:
學到這里,我們的觸發器就學完了,我們可以利用觸發器進行數據的備份效果,當你刪除某一條數據的時候,我將這條數據新建存儲到另外的一張表中。這些都可以通過觸發器實現的。想很好的操作觸發器就不斷的去實驗和運用。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。