這裡學習變數主要是為後面學習儲存過程和函式做鋪墊。
系統變數:
全域性變數
會話變數
自定義變數:
使用者變數
區域性變數
1、概述
說明:變數由系統定義,不是使用者定義,屬於伺服器層面。
注意:全域性變數需要新增global關鍵字,會話變數需要新增session關鍵字,如果不寫,缺省會話級別。
使用步驟:
# 1、檢視所有系統變數
show global|【session】variables;
# 2、檢視滿足條件的部分系統變數
show global|【session】 variables like '%char%'
;# 3、檢視指定的系統變數的值
select @@global|【session】.系統變數名;
# 4、為某個系統變數賦值
# 方式一:
set global|【session】系統變數名=值;
# 方式二:
set @@global|【session】.系統變數名=值;
2、全域性變數作用域:針對於所有會話(連線)有效,但不能跨重啟。
一般修改系統全域性變數都需要相關許可權。
示例
# ①檢視所有全域性變數
show global variables;
# ②檢視滿足條件的部分系統變數
show global variables like '%char%'
;# ③檢視指定的系統變數的值
select @@global.autocommit;
# ④為某個系統變數賦值
# 方式一
set @@global.autocommit=0;
# 方式二
set global autocommit=
1;
3、會話變數作用域:針對於當前會話(連線)有效。
# ①檢視所有會話變數
show session variables;
# ②檢視滿足條件的部分會話變數
show session variables like '%char%'
;# ③檢視指定的會話變數的值
#方式1
select @@autocommit;
#方式2
select @@session.tx_isolation;
# ④為某個會話變數賦值
#方式1
set @@session.tx_isolation=
'read-uncommitted'
; #方式2
set session tx_isolation=
'read-committed'
;
說明:變數由使用者自定義,而不是系統提供的。
使用步驟:
1、宣告
2、賦值
3、使用(檢視、比較、運算等)
1、使用者變數作用域:針對於當前會話(連線)有效,作用域同於會話變數。
#賦值操作符:=或:
=# ①宣告並初始化(三種方式)
set @變數名=值;
set @變數名:
=值;select @變數名:
=值; # select只能用:
=# ②賦值(更新變數的值)
#方式一:
set @變數名=值;
set @變數名:
=值; select @變數名:
=值; #方式二:
select 字段 into @變數名 from 表;
# ③使用(檢視變數的值)
select @變數名;
2、區域性變數作用域:僅僅在定義它的begin end塊中有效。應用在 begin end中的第一句話。
# 和上面使用者變數不同的是: 區域性變數只能申明在bengin和end內
# ①宣告
declare 變數名 型別;
declare 變數名 型別 【default 值】;
# ②賦值(更新變數的值)
#方式一:
set 區域性變數名=值;
set 區域性變數名:
=值; select 區域性變數名:
=值; #方式二:
select 字段 into 具備變數名 from 表;
# ③使用(檢視變數的值)
select 區域性變數名;
案例:宣告兩個變數,求和並列印。
# 使用者變數 [能夠成功執行]
set @m=1;
set @n=1;
set @sum=@m+@n;
select @sum;
# 執行結果為2
# 區域性變數 [不能成功執行因為沒有放在bengin和end中,而bengin和end是在寫儲存過程和函式是用到,後面會寫]
declare m int default 1
;declare n int default 1
;declare sum int;
set sum=m+n;
select sum;
使用者變數和區域性變數的對比
作用域定義位置
語法使用者變數
當前會話
會話的任何地方
加@符號,不用指定型別
區域性變數
定義它的begin end中
begin end的第一句話
一般不用加@,需要指定型別
希望本文對你有所幫助~~感興趣可以加入我們。642830685,技術大牛解惑答疑,同行一起交流。
MySQL變數詳解
mysql變數分為 系統變數 自定義變數 一 系統變數 1 全域性變數 作用域 針對於所有會話 連線 有效,但不能跨重啟 檢視所有全域性變數 show global variables 檢視滿足條件的部分系統變數 show global variables like char 檢視指定的系統變數的值...
mysql中的變數詳解
一 系統變數 1.說明 變數由系統定義,不是使用者定義,屬於伺服器層面 2.注意 系統變數包含全域性變數和會話變數,全域性變數需要新增global關鍵字,會話變數需要新增session關鍵字,如果不寫,缺省會話級別 使用步驟 1 檢視所有系統變數 show global session variab...
MySQL對使用者變數 系統變數 區域性變數詳解
目錄 1 變數分類 1.1 使用者變數 1.1.1 使用者變數定義 1.1.2 使用者變數操作 1.2 系統變數 1.2.1 系統變數定義 1.2.2 系統變數操作 1.3 區域性變數 1.3.1 區域性變數定義 1.3.2 賦值 mysql資料庫中的變數分為mysql系統變數和mysql使用者變數...