明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

MySQL觸發(fā)器之創(chuàng)建觸發(fā)器

[摘要]MySQL觸發(fā)器之創(chuàng)建觸發(fā)器觸發(fā)器在數(shù)據(jù)庫系統(tǒng)開發(fā)過程中具有非常重要的作用,例如可以防止有害數(shù)據(jù)錄入數(shù)據(jù)庫,可以改變或取消insert、update和delete語句的執(zhí)行及在一個會話中監(jiān)聽數(shù)據(jù)庫中的數(shù)據(jù)的改變。那我們在前面介紹了關(guān)于MySQL視圖的應(yīng)用的幾篇文章《MySQL視圖的應(yīng)用之創(chuàng)建視圖》...
MySQL觸發(fā)器之創(chuàng)建觸發(fā)器

觸發(fā)器在數(shù)據(jù)庫系統(tǒng)開發(fā)過程中具有非常重要的作用,例如可以防止有害數(shù)據(jù)錄入數(shù)據(jù)庫,可以改變或取消insert、update和delete語句的執(zhí)行及在一個會話中監(jiān)聽數(shù)據(jù)庫中的數(shù)據(jù)的改變。

那我們在前面介紹了關(guān)于MySQL視圖的應(yīng)用的幾篇文章《MySQL視圖的應(yīng)用之創(chuàng)建視圖》《MySQL視圖的應(yīng)用之修改視圖》以及《MySQL視圖的應(yīng)用之應(yīng)用視圖》,那么我們這篇文章開始主要介紹MySQL觸發(fā)器~

如果用戶打算在數(shù)據(jù)庫中通過觸發(fā)器實現(xiàn)某一動作的監(jiān)聽,那么首先應(yīng)該創(chuàng)建觸發(fā)器,觸發(fā)器是在“命令提示符”下創(chuàng)建的。

技術(shù)要點(diǎn)

MySQL數(shù)據(jù)庫創(chuàng)建觸發(fā)器的格式如下:

create trigger <觸發(fā)器名稱>
{ before   after}
{insert   update   delete}
on <表名>
for each row
<觸發(fā)器SQL語句>

create trigger <觸發(fā)器名稱>:創(chuàng)建一個新觸發(fā)器,并指定觸發(fā)器的名稱。

{ before after}:用于指定在insert、update或delete語句執(zhí)行前觸發(fā)還是在語句執(zhí)行后觸發(fā)。

on <表名>:用于指定響應(yīng)該觸發(fā)器的表名。

for each row:觸發(fā)器的執(zhí)行間隔,for each row 通知觸發(fā)器每隔一行執(zhí)行一次動作,而不是對整個表執(zhí)行一次。

<觸發(fā)器SQL語句>:觸發(fā)器要執(zhí)行的SQL語句,如果該觸發(fā)器要執(zhí)行多條SQL語句,要將多條語句放在begin…end塊中。

實現(xiàn)過程

(1)在“命令提示符”下創(chuàng)建數(shù)據(jù)表tb_test。代碼如下:

create table tb_test(t_id varchar(20),t_name varchar(20))

(2)將換行標(biāo)記轉(zhuǎn)換為“//”。代碼如下:

delimiter //

(3)創(chuàng)建觸發(fā)器,實現(xiàn)無論用戶向表tb_test添加什么數(shù)據(jù)都使字段t_name的內(nèi)容為“mrsoft”。代碼如下:

create trigger test_tri
before insert on tb_test
for each row
set new.t_name='mrsoft'

(4)向表tb_test添加一條記錄,并查看添加后的結(jié)果。代碼如下:

insert into tb_test(t_id,t_name) values('mr0001', '123')//
select * from tb_test

那么我們將上面的實現(xiàn)過程在“命令提示符”中一步步輸入實現(xiàn),輸出結(jié)果如下圖:

111.png

關(guān)于MySQL觸發(fā)器的創(chuàng)建我們就介紹到這里,是不是很簡單,相信小伙伴們都可以快速的掌握,那么我們下一篇文章會繼續(xù)介紹MySQL觸發(fā)器,具體請閱讀《MySQL觸發(fā)器之查看觸發(fā)器》!

【相關(guān)教程推薦】

1.【MYSQL在線免費(fèi)視頻教程

2. 相關(guān)視頻課程推薦: 《動力節(jié)點(diǎn)mysql基礎(chǔ)視頻教程

以上就是MySQL觸發(fā)器之創(chuàng)建觸發(fā)器的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門到精通的SQL知識。