變量的分類
變量分為系統(tǒng)變量和自定義變量
系統(tǒng)變量
系統(tǒng)變量大部分時候用戶不需要使用岸啡,系統(tǒng)變量是用來控制服務(wù)器的表現(xiàn)毕贼,如auto_increment_increment ,auto_commit 等,
示例
查看系統(tǒng)變量
show variables;--查看系統(tǒng)變量
select @@ 系統(tǒng)變量名 -- 查看單個系統(tǒng)變量
select @@ verion
修改系統(tǒng)變量
修改系統(tǒng)變量分為兩種:會話級別拄衰,全局級別
- 會話級別:只對當(dāng)前客戶端的當(dāng)前會話生效
set 系統(tǒng)變量名 = 值;
set @@系統(tǒng)變量名 = 值;
set autocommit = 0;
- 全局級別:對所有客戶端永久生效
set global 變量名 = 值;
自定義變量
系統(tǒng)變量為了區(qū)分自定義變量它褪,規(guī)定用戶自定義變量必須使用一個@符號
新增語法:
set @自定義變量名=值;
set @name = 'jason'
查看語法:
select @變量名
select @name;
在mysql中,'=' 一般是比較符號翘悉,':=' 是賦值符號茫打,一般賦值用':='
mysql 中允許通過select語句查詢的結(jié)果給變量賦值
分為兩種:
方案一:邊賦值,邊查看結(jié)果:
select @變量名 := 字段 from 數(shù)據(jù)源; -- 從字段列表中取出值賦值依次給變量,所以變量的值是列表中的最后一個值老赤。
SELECT @name := name from `c_student`
屏幕快照 2017-08-16 上午11.14.19.png
SELECT @name
屏幕快照 2017-08-16 上午11.16.45.png
方案二:只有賦值轮洋,不看結(jié)果 ,但只能過去一條
select 字段列表 from 數(shù)據(jù)源 into 變量列表
select name,age from c_student where id = 2 into @name,@age;
所有自定義變量都是會話級別