Mysql學習筆記(一)

2021-07-07 04:25:21 字數 1626 閱讀 9045

一、mysql學習筆記-------------觸發器

觸發器四要點:

1.監視誰(table)

2.監視事件(insert/update/delete)

3.觸發時間(after/before)

4.觸發事件(insert/update/delete)

語法: create trigger 觸發器名稱

after/before(觸發時間)

insert/update/delete(監視事件)

on 表名(監視誰)

for each row

begin

sql1;.......sqln;

end例子: 商品表

create table `goods` (

`gid` int(11) default null,

`name` varchar(255) default null,

`num` smallint(6) default null

); 訂單表

create table `orders` (

`oid` int(11) default null,

`gid` int(11) default null,

`num` smallint(6) default null

) 1.下單後,對應商品的數量減去下單數量

create trigger t1

after insert on orders

for each row

begin

update goods set num = num - new.num where gid = new.gid;

end;

2.刪除訂單後,對應商品的數量加上下單數量

create trigger t2

after delete on orders

for each row

begin

update goods set num = num + old.num where gid = old.gid

end;

3.只修改訂單數量

create trigger t3

before update on orders

for each row

begin

update goods set num = num + old.num - new.num where gid = old.gid;

end;

4.當下訂單時,對應商品的數量減去下單數量,並檢測是否爆倉,如果爆倉則只修改庫存裡的

create trigger t4

before on orders

for each row

begin

declare rnum int;

select num into rnum from goods where gid = new.gid;

if new.num>rnum then

set new.num = rnum;

end;

update goods set num = num - new.num where gid = new.gid;

end;

Mysql學習筆記一

最近在學習mysql,以後工作會慢慢往這方面轉向,所以提前預習。現在全世界都喊著去ioe,所以咱也必須提前做個準備。衝.第一章基礎知識 1 改變表結構 增加列 alter table test add name char 6 更改列定義 alter table test change year bo...

Mysql學習筆記一

一 mysql資料型別 1 整數 浮點數 定點型別 1個位元組佔8位,漢字佔兩個位元組 16位 正數定義成unsigned 定點數 decimal m,d m表示總長度 d表示小數字 存入的時候四捨五入計算 範圍與double相同 例子 decimal 5,2 123.45 2 日期與時間 一般用d...

Mysql學習筆記(一)

近來發現資料庫是個很有用的東西,所以了解看看。配置完了mysql,熟悉一下mysql的基本操作。mysql的基本操作一般都是利用命令列來實現,值得注意的是使用cmd命令行時,必須要使用管理員身份執行,不然沒有許可權訪問mysql。一切準備工作就緒之後,首先啟動mysql,在命令列中輸入net sta...