用戶變量介紹:
用戶變量即用戶自己定義的變量,我們可以給用戶變量分配值,並且可用在任何可以正常使用標量表達式的地方
引入用戶變量之前我們必須使用set語句或select語句來定義它,然后為它賦一個值,否則變量就只有一個空值。
用戶變量與連接有關。也就是說,一個客戶端定義的變量不能被其它客戶端看到或使用。當客戶端退出時,
該客戶端連接的所有變量將自動釋放。
定義:
使用set語句來進行定義和賦值
使用select語句進行定義和賦值,在SQL語句中的話就看這種吧
select @rownum := 1 .......
注意:
用戶變量:以"@"開始,形式為"@var_name",以區分用戶變量及列名。它可以是任何隨機的,
復合的標量表達式,只要其中沒有列指定。
一個變量名可以由當前字符集的數字字母字符和“_”、“$”和“.”組成
對於SET,可以使用=或:=來賦值,對於SELECT只能使用:=來賦值。
舉例:
查詢用戶表中的所有數據並顯示行號
select @rownum := @rownum+1 as no, -- 行號 u.* FROM USER u, ( SELECT @rownum := 0 ) a -- 為變量賦初始值
ps:
用戶變量為session級別,當我們關閉客戶端或退出登錄時用戶變量全部消失。
如果想用就保存自定義的變量,需要自行創建一個表,將標量insert到表里。
用戶變量名對大小寫不敏感。
未定義的變量初始化是null。