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