系統變量
說明:變量由系統提供的,不用自定義
語法:
#①查看系統變量
show 【global|session 】variables like ''; #如果沒有顯式聲明global還是session,則默認是session
#②查看指定的系統變量的值
select @@【global|session】.變量名; #如果沒有顯式聲明global還是session,則默認是session
#③為系統變量賦值
#方式一:
set 【global|session 】 變量名=值; 如果沒有顯式聲明global還是session,則默認是session
#方式二:
set @@global.變量名=值;
set @@變量名=值;
-
全局變量
服務器層面上的,必須擁有super權限才能為系統變量賦值,作用域為整個服務器,也就是針對於所有連接(會話)有效 -
會話變量
服務器為每一個連接的客戶端都提供了系統變量,作用域為當前的連接(會話)
自定義變量
說明:
用戶變量
作用域:針對於當前連接(會話)生效
位置:begin end里面,也可以放在外面
#①聲明並賦值:
set @變量名=值;或
set @變量名:=值;或
select @變量名:=值;
#②更新值
#方式一:
set @變量名=值;或
set @變量名:=值;或
select @變量名:=值;
#方式二:
select xx into @變量名 from 表;
#③使用
select @變量名;
局部變量
作用域:僅僅在定義它的begin end中有效
位置:只能放在begin end中,而且只能放在第一句
#①聲明
declare 變量名 類型 【default 值】;
#②賦值或更新
#方式一:
set 變量名=值;或
set 變量名:=值;或
select @變量名:=值;
# 方式二:
select xx into 變量名 from 表;
#③使用
select 變量名;