国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Mysql自定義變量

2019-11-09 13:32:38
字體:
來源:轉載
供稿:網友

變量分類:

用戶變量:只對當前用戶使用的客戶端生效,以”@”開始,形式為”@變量名”;用戶變量跟MySQL客戶端是綁定的;用戶定義的變量就叫用戶變量,這樣理解的話,會話變量和全局變量都可以是用戶定義的變量,只是他們是對當前客戶端生效還是對所有客戶端生效的區別了。所以,用戶變量包括了會話變量和全局變量;

會話變量:使用set語句定義,只對連接的客戶端有效;局部變量:使用declare語句定義,作用范圍在begin到end語句塊之間,在該語句塊里設置的變量。

全局變量:使用set語句定義,對所有客戶端生效,以如下兩種形式定義,set GLOBAL 變量名 或者 set @@global.變量名。只有具有super權限才可以設置全局變量。

局部變量與用戶變量的區分:

用戶變量是以”@”開頭的。局部變量沒有這個符號;定義語句不同。用戶變量使用set語句,局部變量使用declare語句定義;作用范圍不同。局部變量只在begin-end語句塊之間有效。在begin-end語句塊運行完之后,局部變量就消失了。

所以,最后它們之間的層次關系是:變量包括局部變量和用戶變量,用戶變量包括會話變量和全局變量。

使用:

set @var 若沒有指定GLOBAL 或session ,那么默認將會定義用戶變量,兩種方式定義用戶變量:

”=”,如 set @a =3,@a:=5;“:=”。select常常這樣使用。

總結:使用select 和set設置變量的區別,set可以使用以上兩種形式設置變量,而select只能使用”:=”的形式設置變量。 實踐積累:用戶變量在mysql客戶端退出后,會自動消失,之后再次打開客戶端,使用”select @a;” 顯示變了的值為null,說明,未定義的變量初始化是null。

egg:

SELECT (@row:= @row+1) AS row, // 使用行號變量 u.*FROM t_f_sort u, ( SELECT @row:=0) r // 定義行號變量
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台山市| 武定县| 合山市| 陇川县| 会昌县| 松溪县| 河北省| 台南市| 开平市| 巴东县| 酉阳| 天柱县| 石泉县| 榆林市| 巴青县| 遵化市| 康定县| 周至县| 桂平市| 潜山县| 芮城县| 龙山县| 苏州市| 黑水县| 白水县| 西贡区| 安陆市| 嘉黎县| 新津县| 托里县| 濉溪县| 新干县| 武安市| 民乐县| 宽城| 武冈市| 襄汾县| 正蓝旗| 东阳市| 象州县| 奉节县|