在mysql中,變量分爲普通變量、系統和服務器變量、存儲過程局部變量。通常普通變量用的場合較少,較複雜的查詢邏輯通常使用存儲過程實現或者採用PHP、JAVA等編程語言實現。現實中數據庫端變量使用最多的情況是在存儲過程中的局部變量。
普通變量(用戶變量):
以@開頭,僅存在於SQL連接時,當前SQL連接關閉時失去內容。
系統和服務器變量:
以@@開頭,保存MYSQL服務器工作狀態或屬性
存儲過程局部變量:
僅在存儲過程中有效,使用declare 進行聲明
以下不討論存儲過程中的變量使用
查詢已定義變量:
SHOW VARIABLES
變量賦值:
(1)SET @varname = 8
(2)SELECT @varname := 8
(3)SELECT @varname := COUNT(*) FROM table
(4)SELECT COUNT(*) FROM table INTO @varname
(5)SELECT title,subtitle FROM titles WHERE titleID = 8 INTO @t,@st
變量使用:
SELECT @varname
SELECT * FROM titles WHERE titleID = @varname