日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

詳解MySQL數據庫之觸發器

瀏覽:27日期:2023-10-10 18:26:55
1 引言

本文是對MySQL中觸發器的總結,從觸發器概念出發,結合實例對創建觸發器、使用觸發器、刪除觸發器進行介紹。

2 觸發器簡介

MySQL觸發器和存儲過程一樣,都是嵌入到MySQL的一段程序。觸發器是由事件來觸發某個操作,這些事件包括INSERT、UPDATE、DELETE。如果定義了觸發器,當數據庫執行這些語句的時候就會激活觸發器執行相應的操作,觸發程序是與表有關的命令數據庫對象,當表上出現特定事件,將激活該對象。

觸發器是一個特殊的存儲過程,不同的是,執行存儲過程要使用call語句來調用,而觸發器的執行不需要用call來調用,也不需要手工啟動,只要當一個預定義的事件發生,觸發器就會被MySQL自動調用。觸發器可以查詢其他表,而且可以包含復雜的SQL語句。

3創建觸發器

(1)創建只有一條執行語句的觸發器

語法結構如下:

CREATE TRIGGER trigger_name trigger_time trigger_event ON table_name FOR EACH ROW trigger_stmt

trigger_name:用戶自定義的觸發器名稱;

trigger_time:標識觸發事件,可以指定為before(時間發生前執行)或after(事件發生后執行);

trigger_event:標識觸發事件,包括INSERT、UPDATE、DELETE;

table_name:觸發器建立在哪個表上;

trigger_stmt:觸發器執行語句。

(2)創建有多個執行語句的觸發器

語法結構如下:

CREATE TRIGGER trigger_name trigger_time trigger_event ON table_name FOR EACH ROW BEGIN 語句執行列表 END

當觸發器有至少一條的執行語句時,多條執行語句需要用BEGIN和END包裹,分別表示整個代碼塊的開始和結束。

為演示觸發器操作,我們先創建一下三個數據表:

create table tb_student( id int PRIMARY key auto_increment, name varchar(10));create table tb_before_trigger( id int PRIMARY key auto_increment, num int , time_now datetime NULL DEFAULT CURRENT_TIMESTAMP);create table tb_after_trigger( id int PRIMARY key auto_increment, num int , time_now datetime NULL DEFAULT CURRENT_TIMESTAMP);

示例1:創建一個名為before_trigger的觸發器,該觸發器會在每次對表tb_student執行insert操作前觸發,觸發時會往before_trigger表插入一條包含tb_student表總記錄數的記錄。

delimiter //create trigger before_trigger before insert on tb_student for each row begin insert into tb_before_trigger (num) select count(*) from tb_student; end //delimiter ;

示例2:創建一個名為after_trigger的觸發器,該觸發器會在每次對表tb_student執行insert操作前觸發,觸發時會向before_trigger表插入一條包含tb_student表總記錄數的記錄。

delimiter //create trigger after_trigger after insert on tb_student for each row begin insert into tb_after_trigger (num) select count(*) from tb_student; end //delimiter ;

來測試一下示例1和示例2中創建的觸發器,往tb_student表中插入一條數據(插入前3個表沒有任何記錄):

insert into tb_student (name) values(’zhangsan’);

插入后,查看三個表中數據:

tb_student表:

詳解MySQL數據庫之觸發器

tb_before_trigger表:

詳解MySQL數據庫之觸發器

tb_after_trigger表:

詳解MySQL數據庫之觸發器

可以看到,在tb_student表執行insert操作后,另外兩個表也分別更新了記錄,tb_before_trigger表num值為0,證明在tb_student執行insert操作前插入的;tb_after_trigger表num值為1,證明在tb_student執行insert操作后插入的——這就是before與after的區別。

對于其他條件觸發器,使用方法與示例1和示例2類似,本文不在演示。

4 查看觸發器

(1)show triggers語句

通過show triggers語句可以查看示例1和示例2中創建的觸發器:

show triggers;

輸出結果:

詳解MySQL數據庫之觸發器

(2)在triggers表中查看觸發器

在information_schema數據庫的triggers表中存放在MySQL數據庫中的所有觸發器,可以通過查詢語句進行查看:

select * from information_schema.triggers where trigger_name = ’before_trigger’ ;

輸出結果:

詳解MySQL數據庫之觸發器

當不指定查詢條件時,即是指查看所有觸發器信息。

5 刪除觸發器

使用DROP TRIGGER語句可以刪除觸發器,基本語法結構如下:

DROP TRIGGER [schema_name] trigger_name

其中,schema_name表示數據庫名稱,是可選參數,如果省略則表示從當前數據庫中刪除觸發器。

示例3:刪除示例1中創建的觸發器before_trigger

drop trigger before_trigger;6 總結

在某些時候,觸發器可以起到錦上添花的作用,但是,觸發器的效率并不高,所以還是盡量少用。

作者:奧辰

Github:https://github.com/ChenHuabin321

以上就是詳解MySQL數據庫之觸發器的詳細內容,更多關于MySQL 觸發器的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
九九在线精品| 丝袜美腿亚洲一区| 麻豆91小视频| 亚洲伦乱视频| 青青草国产精品亚洲专区无| 国产成人精品999在线观看| 亚洲国产专区| 麻豆国产欧美日韩综合精品二区| 亚洲自拍另类| 国产精品2区| 中文亚洲欧美| 国产成人精品一区二区三区在线| 日韩不卡视频在线观看| 日韩精品高清不卡| 91精品福利| 欧美黑人做爰爽爽爽| 中文亚洲欧美| 中文字幕在线看片| 亚州av日韩av| 亚洲精品888| 美女在线视频一区| 亚洲精品自拍| 午夜国产欧美理论在线播放| www.51av欧美视频| 国产伦精品一区二区三区在线播放| 日韩毛片在线| 久久国际精品| 日韩免费精品| 亚洲理论在线| 日韩av网站在线观看| 日韩在线观看一区二区| 国精品一区二区| 免费av一区| 亚洲综合日韩| 在线亚洲自拍| 国产精品美女久久久浪潮软件| 视频二区不卡| 亚洲精品一区二区在线看| 亚洲高清久久| 亚洲一级高清| 亚洲高清av| 蜜臀av一区二区三区| 日韩精品导航| 国产精品videossex| 国产一区二区三区成人欧美日韩在线观看| 国产精品自在| 久久久精品五月天| 精品一区亚洲| 亚洲欧美成人综合| 日本不卡在线视频| 精品久久网站| 免费不卡中文字幕在线| 免费在线观看精品| 国产精品网在线观看| 日韩精品麻豆| 日韩午夜黄色| 国产精品天天看天天狠| 日韩在线精品| 老鸭窝亚洲一区二区三区| 天堂俺去俺来也www久久婷婷| 久久av网址| 老牛国产精品一区的观看方式| 91精品麻豆| 国产欧美久久一区二区三区| 久久精品官网| 精品视频在线观看网站| 欧美午夜不卡| 狠狠久久伊人| 在线精品国产亚洲| 亚洲精品一区二区在线看| 日本午夜精品久久久久| 日韩欧美另类一区二区| 日韩一区二区三区精品视频第3页| 麻豆高清免费国产一区| 欧美日韩少妇| 日韩毛片视频| 国产日产精品_国产精品毛片 | 欧美日韩一区二区三区四区在线观看| 国产精品激情| 噜噜噜久久亚洲精品国产品小说| 国产日韩精品视频一区二区三区| 久久九九精品| 国产精品tv| 亚洲精品自拍| 亚洲一区日韩在线| 国产乱码午夜在线视频| 日本高清久久| 日韩午夜av在线| 91看片一区| 久久精品影视| 日韩一区二区三区在线免费观看| 成人羞羞视频播放网站| 色婷婷色综合| 欧美高清不卡| 日韩精品三级| 免费亚洲一区| 婷婷丁香综合| 日本aⅴ精品一区二区三区| 国产精品午夜一区二区三区| 亚洲一区资源| 免费观看日韩电影| 精品视频网站| 亚洲免费网址| 精品三级在线观看视频| 久久精品观看| 日韩av不卡在线观看| 亚洲不卡av不卡一区二区| 美女免费视频一区| 日韩va欧美va亚洲va久久| 亚洲深深色噜噜狠狠爱网站 | 欧美xxxx中国| 国产精品久久久久久久久久久久久久久| 99在线观看免费视频精品观看| 国产精品日韩欧美一区| 欧美日韩日本国产亚洲在线 | 日韩激情综合| 日韩国产欧美三级| 欧美激情精品| 亚洲一区二区三区免费在线观看 | 日韩不卡在线观看日韩不卡视频| 欧美91精品| 美美哒免费高清在线观看视频一区二区| 亚洲资源在线| 国产成人久久精品一区二区三区| 国产一区二区三区天码| 久久精品亚洲欧美日韩精品中文字幕| 亚洲电影有码| 亚洲精品一区二区在线播放∴| 国产精品视频一区二区三区综合| 久久久久久亚洲精品美女| 福利片在线一区二区| 欧美亚洲日本精品| 激情综合五月| 美女毛片一区二区三区四区最新中文字幕亚洲| 日韩区一区二| 久久男人av资源站| 久久尤物视频| 精品在线99| 国产亚洲一区| 欧美不卡在线| 国产精品永久| 中文国产一区| 精品网站999| 亚洲视频电影在线| 免费观看亚洲| 欧美亚洲国产日韩| 久久免费大视频| 国产欧美日韩精品高清二区综合区| 国产v综合v| 国产精品一区二区免费福利视频| 欧美日韩水蜜桃| 久久亚洲人体| 日本电影久久久| 亚洲在线电影| 日韩大片在线| 国产精品免费精品自在线观看| 欧美在线影院| 日本蜜桃在线观看视频| 日韩成人午夜精品| 日韩一级欧洲| 欧美sss在线视频| 你懂的亚洲视频| 伊人久久一区| 黄色亚洲精品| av在线日韩| 国产一区二区视频在线看| 日本不卡不码高清免费观看| 性欧美xxxx免费岛国不卡电影| 国产伦精品一区二区三区在线播放 | 日韩成人a**站| 日韩激情中文字幕| 欧美日韩四区| 日韩免费在线| 国产极品模特精品一二| 亚洲欧美日韩精品一区二区| www.com.cn成人| 久久精品国产网站| 国产精品综合| 国产亚洲久久| 天堂久久av| 免费成人av在线播放| 夜夜精品视频| 欧美日韩国产一区精品一区| 久久夜夜操妹子| 日本久久精品| 久久免费福利| 鲁大师精品99久久久| 欧美黄页在线免费观看| 国产亚洲一卡2卡3卡4卡新区| 日本一区二区三区中文字幕| 水野朝阳av一区二区三区| 91精品二区| 精品中文字幕一区二区三区av| 久久精品国产99久久| 99精品在线| 欧美丝袜一区| 欧美精选一区二区三区| 国产综合婷婷| 亚洲欧美不卡| 亚洲精品伦理|