MySQL一共有2種變量,用戶的和系統的
用戶的又分為局部變量和Session級變量
系統的分為Session級變量和Global級變量
系統:
www.2cto.com
MySQL的大部分配置選項都有相應的Session級或Global級的變量可以用在客戶端程序如mysql中來改變,從而影響MySQL對mysql連接的響應
設定Global級的變量,影響的是所有之後連接到服務器的mysql連接
設定session級的變量,影響的是服務器對當前連接的響應
設定系統級的這兩種變量的方式是
set @@global.var_name = ;
set @@session.var_name = ;
用戶:
用戶可以設置一些自定義的變量來存儲將要重復使用的數據,方便後續程序的使用
局部變量:用declare聲明,只能用在begin end語句塊中,並且必須在begin end語句塊的開始定義,通常用於存儲程序中
如
01
CREATE PROCEDURE sp1 (x VARCHAR(5))
02
BEGIN
03
DECLARE xname VARCHAR(5) DEFAULT 'bob';
04
DECLARE newname VARCHAR(5);
05
DECLARE xid INT;
06
www.2cto.com
07
SELECT xname,id INTO newname,xid
08
FROM table1 WHERE xname = xname;
09
SELECT newname;
10
END;
session級變量:又叫會話變量,用set設定,設定之後,在後面的所有可以使用變量的地方都能使用它
1
SET @t1=0, @t2=0, @t3=0;
2
SELECT @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3;
作者 流雲諸葛