MySQL(檢視、觸發器)
阿新 • • 發佈:2018-11-15
day61
參考:http://www.cnblogs.com/wupeiqi/articles/5713323.html
檢視
檢視:給某個查詢語句設定別名,日後方便使用
- 建立
create view 檢視名稱 as SQLs語句
PS: 檢視是虛擬的
- 修改
alter view 檢視名稱 as SQL語句
- 刪除
drop view 檢視名稱;
觸發器
當對某張表做:增刪改操作時,可以使用觸發器自定義關聯行為
create trigger 觸發器名稱 before insert on tb1 for each row
begin
.......
end
每在插入一行前,先執行begin~end中內容。
查詢時用不到觸發器
#遇到;不能完整執行需要將中止符修改 -- delimiter// -- create trigger t1 before INSERT on student for each row -- BEGIN-- INSERT INTO teacher(tname) values('觸發器'); #表示寫完了 -- -- END// -- delimiter; -- insert into student(gender, class_id, sname) values("女",1,'觸發');#插入兩行則觸發兩次
執行觸發器後,觸發器一直存在。
觸發器執行過之後,一直存在,不需要時,需要刪除。
drop trigger t1;
插入學生的資料同樣插入老師的表中 NEW
#插入學生的資料再插入老師的表中 -- delimiter// -- create trigger t1 before INSERT on student for each row -- BEGIN -- INSERT INTO teacher(tname) values(NEW.sname); #表示寫完了 -- -- END// -- delimiter; insert into student(gender, class_id, sname) values("女",1,'啦啦');#插入兩行則觸發兩次
先執行觸發器,結束後註釋(觸發器已存在),再執行insert語句,資料插入student和teacher表中。
NEW,表示新資料,insert, update(既有新資料,更新為的資料)
OLD,表示老資料,delete, update(又有老資料,被更新資料)