【D1n910】(24/42) C++語(yǔ)言程序設(shè)計(jì) - MySQL數(shù)據(jù)庫(kù)學(xué)習(xí)筆記 3.1 MySQL編程基礎(chǔ)
正常操作,正常分析,大家好,我是D1N910,這是我觀看【MySQL數(shù)據(jù)庫(kù)】C++語(yǔ)言程序設(shè)計(jì) - MySQL數(shù)據(jù)庫(kù)的學(xué)習(xí)筆記。

之前的筆記內(nèi)容請(qǐng)看我的專(zhuān)欄。這里便不再累述了。

Unit13?MySQL編程基礎(chǔ)(下面是我們的準(zhǔn)備工作)
1.1 用戶(hù)會(huì)話(huà)變量
用戶(hù)會(huì)話(huà)變量
????》會(huì)話(huà)期間一直有效,但其它的客戶(hù)機(jī)不能訪問(wèn)
????》一般情況下,用戶(hù)會(huì)話(huà)變量的定義與賦值會(huì)同時(shí)進(jìn)行
? ? >方法一:使用set命令定義用戶(hù)會(huì)話(huà)變量,并為其賦值
????????set @user_variable1=expre1 [, @user_variable2=expre2, ...];
????>方法二:使用select語(yǔ)句定義用戶(hù)會(huì)話(huà)變量,并為其賦值
????select @user_variable1:=expre1[,@user_variable2:=expre2,...]
????或
????select expre1, expre2,... into @user_variable1, @user_variable2,...
1) set
MySQL 的變量是軟類(lèi)型的,不用定義變量類(lèi)型,類(lèi)似 JavaScript。 set 來(lái)定義屬性。
@來(lái)定義用戶(hù)會(huì)話(huà)變量,意思就是只有本次連接會(huì)話(huà)才能訪問(wèn)這個(gè)變量,再次開(kāi)回話(huà)或者別人另開(kāi)回話(huà)訪問(wèn)都沒(méi)用。
select 接變量名可以訪問(wèn)變量。
【結(jié)果】
測(cè)試 exit 退出 mysql 后重新訪問(wèn)變量,發(fā)現(xiàn)現(xiàn)在是不能訪問(wèn)的
2) select()
????2.1 既能創(chuàng)建又能賦值還能產(chǎn)生結(jié)果集
????select @user_name:='李四'; --產(chǎn)生結(jié)果集
2.2 創(chuàng)建賦值,不產(chǎn)生結(jié)果集
select 20 into @age1;
3) 用戶(hù)會(huì)話(huà)變量和SQL語(yǔ)句
3.1、不產(chǎn)生結(jié)果集
3.2、產(chǎn)生結(jié)果集
3.3、產(chǎn)生結(jié)果集-簡(jiǎn)化版
3.4、selct -最簡(jiǎn)化版,也是常用版
1.2 局部變量(強(qiáng)類(lèi)型)
>語(yǔ)法:
????declare 變量名 數(shù)據(jù)類(lèi)型;
????局部變量必須定義在存儲(chǔ)程序中,且作用范圍也只在存儲(chǔ)程序中。
????局部變量主要用于下面3種場(chǎng)合:
局部變量定義在存儲(chǔ)程序的begin-end語(yǔ)句塊中
局部變量作為存儲(chǔ)過(guò)程或函數(shù)的參數(shù)使用(作為形參)
局部變量用于存儲(chǔ)程序的SQL語(yǔ)句中
02、begin-end語(yǔ)句塊
MySQL沒(méi)有大括號(hào)(花括號(hào)),在這里都是用 begin 和 end。
begin-end語(yǔ)句塊格式如下,其中開(kāi)始標(biāo)簽名稱(chēng)與結(jié)束標(biāo)簽名稱(chēng)必須相同。(特殊情況下需要,開(kāi)始標(biāo)簽必須,結(jié)束標(biāo)簽可以省略)
注意,書(shū)寫(xiě)順序都要按照上面的順序。
在MySQL中,單獨(dú)使用begin-end語(yǔ)句塊沒(méi)有任何意義,將其封裝到存儲(chǔ)過(guò)程、函數(shù)、觸發(fā)器以及事件等存儲(chǔ)程序內(nèi)部才有意義。
03 重置命令結(jié)束標(biāo)記 delimiter
這是我們之前有用到過(guò)的:
delimiter
n. 分隔符;定界符,分隔符
- 來(lái)自百度翻譯
begin-end語(yǔ)句塊中通常存在多條MySQL表達(dá)式,每條MySQL表達(dá)式使用";"作為結(jié)束標(biāo)記。由于begin-end語(yǔ)句塊中的多條MySQL表達(dá)式密不可分,為了避免這些MySQL表達(dá)式被拆開(kāi),需要重置MySQL客戶(hù)機(jī)的命令結(jié)束標(biāo)記(delimiter)。舉例如下
上面我們可以看到 $$ 有和???一樣的作用。常用的也是 $$ 來(lái)代替。
這個(gè)只對(duì)當(dāng)前會(huì)話(huà)有效。
注意用完后要用下面的語(yǔ)句改回去

恭喜我們,掌握了數(shù)據(jù)庫(kù)表的MySQL編程基礎(chǔ)
我們的學(xué)習(xí)進(jìn)度為 24/42!
未完待續(xù)!