MYSQL(六)-變量

系統變量:

由系統提供,不是用戶定義,屬於服務器層面

1、查看所有的系統變量:show global|session variables;

2、查看滿足條件的部分系統變量:show global|[session] variables like '%char%';

3、查看指定的某個系統變量的值:select @@global | [session].系統變量名;

4、爲某個系統變量賦值:

方式一:

set global | [session] 系統變量名=值

方式二:

set @@global | [session].系統,變量名=值

 

注意:

如果是全局級別,則需要加global,如果是會話級別,則需要加session,如果不加,默認爲session

 

自定義變量:

變量是用戶自定義的,不是由系統的

使用步驟:

聲明、賦值、使用(查看、比較、運算等)

1、用戶變量:

作用域:針對於當前會話(連接)有效,同於會話變量的作用域

應用再任何地方,也就是begin end 裏面或外面

1、聲明並初始化

set @用戶變量名=值;

set @用戶變量名:=值;

select @用戶變量名:=值;

賦值(更新用戶變量的值)

方式一:通過SET或SELECT

set @用戶變量名=值;

set @用戶變量名:=值;

select @用戶變量名:=值;

例如:

聲明並初始化

SET @name='john';

SET @name=100;

賦值

方式二:通過select into 

                  select 字段  into 變量名 from 表;

例如:

select count(*) into @name from employees;

3、使用(查看用戶變量的值)

SELECT @用戶變量名;

 

局部變量

作用域:僅僅在定義它的begin end 中有效

應用在begin end 中的第一句話

1、聲明

DECLARE 變量名 類型;

DECLARE 變量名 類型 DEFAULT 值;

2、賦值

方式一:通過SET或SELECT

                set 局部變量名=值;

                set 局部變量名:=值;

                select @局部變量名:=值;

方式二:通過select into 

                  select 字段  into 局部變量名 from 表;

使用

SELECT 局部變量名;

 

對比用戶變量和局部遍歷:

                                          作用域                          定義和使用的位置                                          語法

用戶變量                         當前會話                        會話中的任何地方                                     必須加@,不用限定類型

局部變量                       begin end中                 只能在begin end 中,且爲第一句話            一般不用加@,需要限定類型

 

例如:聲明兩個變量並賦初始值,求和,並打印

1、用戶變量

SET @m=1;

SET @n=2;

SET @sum=@m+@n;

SELECT @sum;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章