mysql變量用法實(shí)例分析【系統(tǒng)變量、用戶變量】
本文實(shí)例講述了mysql變量用法。分享給大家供大家參考,具體如下:
本文內(nèi)容: 系統(tǒng)變量 用戶變量 局部變量首發(fā)日期:2018-04-18
系統(tǒng)變量: 系統(tǒng)變量就是系統(tǒng)已經(jīng)提前定義好了的變量 系統(tǒng)變量一般都有其特殊意義。比如某些變量代表字符集、某些變量代表某些mysql文件位置 系統(tǒng)變量中包括會(huì)話級(jí)變量(當(dāng)次會(huì)話連接生效的變量,如names),以及全局變量(一直生效的變量) 【系統(tǒng)變量中全局變量和會(huì)話變量其實(shí)是使用一套變量,不同的是會(huì)話變量?jī)H當(dāng)次會(huì)話生效。】會(huì)話變量的賦值:set 變量名 = 值; 【比如常用的set names ='utf8';】或者set @@變量名=值 全局變量的賦值:set global 變量名 = 值; 查看系統(tǒng)變量: show variables;系統(tǒng)變量的調(diào)用: select @@變量名;用戶變量: 用戶變量就是用戶自己定義的變量。 系統(tǒng)為了區(qū)別系統(tǒng)變量跟自定義變量,規(guī)定用戶自定義變量必須使用一個(gè)@符號(hào) 變量的定義方式: set @變量名=1 select @變量名:=值; select 值 into @變量名; 用戶變量可以不聲明定義,就可以直接使用,不過默認(rèn)是null值 用戶變量都是會(huì)話級(jí)的變量,僅在當(dāng)次連接中生效。局部變量: 由于局部變量是用戶自定義的,可以認(rèn)為局部變量也是用戶變量【但有所不同,局部中不需要使用@】 局部變量一般用在sql語句塊中,比如存儲(chǔ)過程塊、觸發(fā)器塊等 局部變量的定義方法:先使用declare聲明局部變量,其中可選項(xiàng)default后面可以跟一個(gè)付給變量的默認(rèn)值:【非常重要的一步,不然會(huì)設(shè)置成用戶變量】【注意:變量聲明語句要在其他語句如select語句之前】 示例:declare myq int; 示例:declare myq int default 666; 設(shè)置變量的值: set 變量名= 值; 獲取變量的值: select 變量名;create procedure myset()begin declare mya int; declare myq int default 777; select mya,myq; set myq=6; set mya=666; select mya,myq;end;call myset();補(bǔ)充: 有些人可能會(huì)發(fā)現(xiàn)直接set 變量名=值;也可以定義“用戶變量”;但這是一種不好的行為【這種行為忽略了各自變量的功能】,因?yàn)槟悴恢罆?huì)不會(huì)跟系統(tǒng)變量沖突,所以最好用戶變量加上@ 因?yàn)?= ,有很多地方都用來判斷是否等于,為了避免歧義,也可以使用:=來賦值 【上面雖然給了一些其他的賦值方法,但好像有一些是不通用的,比如:=只用于用戶變量,所以要審慎使用】。
更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過程技巧大全》及《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總》
希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。
相關(guān)文章:
1. MySQL Delete 刪數(shù)據(jù)后磁盤空間未釋放的原因2. oracle 使用雜記23. MySQL性能優(yōu)化之一條SQL在MySQL中執(zhí)行的過程詳解4. 淺談數(shù)據(jù)庫(kù)日期類型字段設(shè)計(jì)應(yīng)該如何選擇5. MySql如何使用not in實(shí)現(xiàn)優(yōu)化6. Microsoft Office Access隱藏和顯示字段的方法7. MySQL中文亂碼問題解決方案8. MySQL創(chuàng)始人發(fā)郵件尋求中國(guó)幫助9. MYSQL(電話號(hào)碼,身份證)數(shù)據(jù)脫敏的實(shí)現(xiàn)10. Microsoft Office Access添加行的方法
