由于數(shù)據(jù)庫的功能強(qiáng)大,邏輯復(fù)雜,單純靠sql已經(jīng)無法滿足我們的使用、開發(fā)需要,所以MySQL或各個(gè)數(shù)據(jù)庫服務(wù)都有自己一些額外的語法可以配合sql語句一起使用來實(shí)現(xiàn)更復(fù)雜的邏輯。
站在用戶的角度思考問題,與客戶深入溝通,找到永昌網(wǎng)站設(shè)計(jì)與永昌網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名申請(qǐng)、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務(wù)覆蓋永昌地區(qū)。
行注釋 : # 和 --加空格
塊注釋:/**/
mysql的默認(rèn)語句結(jié)束符是分號(hào) ;
而在mysql命令行下額外提供了兩個(gè) \g 和 \G
可以使用 delimiter + 新語句結(jié)束符來修改為新的語句結(jié)束符
例如 delimiter $$
這樣會(huì)把語句結(jié)束符修改為 $$
此處系統(tǒng)變量是指系統(tǒng)初始化時(shí)定義好的變量,這些系統(tǒng)變量是為了描述mysql(或其它數(shù)據(jù)庫)所處的環(huán)境,所以我理解為mysql系統(tǒng)變量。
定義語法
set 變量名=變量值;為了區(qū)分系統(tǒng)變量、字段名、和自定義變量。自定義變量我們都以@開頭。比如:
br/>為了區(qū)分系統(tǒng)變量、字段名、和自定義變量。自定義變量我們都以@開頭。比如:
set @aa = 1;
如果不以@開頭,那么mysql系統(tǒng)會(huì)認(rèn)為你要修改一個(gè)系統(tǒng)變量,如果有同名的系統(tǒng)變量,其值被修改后可能會(huì)發(fā)生意外的情況,如果沒有同名的系統(tǒng)變量,mysql則會(huì)報(bào)錯(cuò)。
select into 語法
select 字段名列表 into 變量名列表;
select 值列表 into 變量名列表;
例如:select 1,2,3 into @a,@b,@c ;
要查看已定義的變量,我們只需“select 變量名;”即可
生命周期
自定義變量的生命周期伴隨操作mysql時(shí)整個(gè)會(huì)話周期,就是從開始連接上數(shù)據(jù)庫到斷開數(shù)據(jù)庫,整個(gè)過程中有效。
作用域
全局作用域,如果是在函數(shù)內(nèi)部,那么作用域就是函數(shù)內(nèi)部。
運(yùn)算符在多種語言幾乎百分之九十都相同,無非是算數(shù)運(yùn)算符,邏輯運(yùn)算符和位運(yùn)算符等。
if condition then statement
elseif contdition then statement1
else statement2
end if
CASE case_value
WHEN when_value THEN statement_list
[WHEN when_value THEN statement_list] ...
[ELSE statement_list]
END CASE
或者CASE
WHEN search_condition THEN statement_list
[WHEN search_condition THEN statement_list] ...
[ELSE statement_list]
END CASE
由于這種循環(huán)結(jié)構(gòu)無法單獨(dú)演示,所以我打算在以后的存儲(chǔ)過程中詳細(xì)學(xué)習(xí),其語法可參考 https://dev.mysql.com/doc/refman/8.0/en/flow-control-statements.html 官方文檔