mysql_變量、流程控制

一. 變量
在 MySQL 數(shù)據(jù)庫中,變量分為 系統(tǒng)變量 以及 用戶自定義變量 。
1.系統(tǒng)變量
系統(tǒng)變量分為全局系統(tǒng)變量(需要添加 global 關(guān)鍵字)以及會(huì)話系統(tǒng)變量(需要添加 session 關(guān)鍵 字),有時(shí)也把全局系統(tǒng)變量簡(jiǎn)稱為全局變量,有時(shí)也把會(huì)話系統(tǒng)變量稱為local變量。如果不寫,默認(rèn)會(huì)話級(jí)別。靜態(tài)變量(在 MySQL 服務(wù)實(shí)例運(yùn)行期間它們的值不能使用 set 動(dòng)態(tài)修改)屬于特殊的全局系 統(tǒng)變量。
查看系統(tǒng)變量
查看指定系統(tǒng)變量
修改系統(tǒng)變量的值

2.用戶變量
用戶變量是用戶自己定義的,作為 MySQL 編碼規(guī)范,MySQL 中的用戶變量以 一個(gè)“@” 開頭。根據(jù)作用 范圍不同,又分為 會(huì)話用戶變量 和 局部變量 。
會(huì)話用戶變量:作用域和會(huì)話變量一樣,只對(duì) 當(dāng)前連接 會(huì)話有效。
局部變量:只在 BEGIN 和 END 語句塊中有效。局部變量只能在 存儲(chǔ)過程和函數(shù) 中使用。
會(huì)話用戶變量
1.變量的定義:
2.查看用戶變量的值 (查看、比較、運(yùn)算等)
局部變量
1.定義變量
2.變量賦值
3.使用變量(查看、比較、運(yùn)算等)

二.流程控制
順序結(jié)構(gòu) :程序從上往下依次執(zhí)行?
分支結(jié)構(gòu) :程序按條件進(jìn)行選擇執(zhí)行,從兩條或多條路徑中選擇一條執(zhí)行
循環(huán)結(jié)構(gòu) :程序滿足一定條件下,重復(fù)執(zhí)行一組語句
針對(duì)于MySQL 的流程控制語句主要有 3 類。注意:只能用于存儲(chǔ)程序。
條件判斷語句 :IF 語句和 CASE 語句?
循環(huán)語句 :LOOP、WHILE 和 REPEAT 語句?
跳轉(zhuǎn)語句 :ITERATE 和 LEAVE 語句

1.分支結(jié)構(gòu)之 IF
根據(jù)表達(dá)式的結(jié)果為TRUE或FALSE執(zhí)行相應(yīng)的語句。這里“[]”中的內(nèi)容是可選的。
特點(diǎn):① 不同的表達(dá)式對(duì)應(yīng)不同的操作 ② 使用在begin end中
2.分支結(jié)構(gòu)之 CASE
3.循環(huán)結(jié)構(gòu)之LOOP
4.循環(huán)結(jié)構(gòu)之WHILE
5.循環(huán)結(jié)構(gòu)之REPEAT
對(duì)比三種循環(huán)結(jié)構(gòu):
1、這三種循環(huán)都可以省略名稱,但如果循環(huán)中添加了循環(huán)控制語句(LEAVE或ITERATE)則必須添加名稱。?
2、 LOOP:一般用于實(shí)現(xiàn)簡(jiǎn)單的"死"循環(huán)?
WHILE:先判斷后執(zhí)行
REPEAT:先執(zhí)行后判斷,無條件至少執(zhí)行一次

跳轉(zhuǎn)語句之LEAVE語句
跳轉(zhuǎn)語句之ITERATE語句