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