資料庫 變數

2021-10-07 09:48:54 字數 1916 閱讀 5241

# 變數

/*系統變數

全域性變數

會話變數

自定義變數

使用者變數

區域性變數

*/# 一。系統變數

# 變數由系統提供,不由使用者定義,屬於伺服器層面

/*使用語法:(不寫global,session預設使用會話變數)

1. 檢視所有系統變數

show global variables; # 檢視全域性變數

show 【session】 variables; # 檢視會話變數

2. 檢視滿足條件的部分系統變數

show global variables like 'char';

show 【session】 variables like 'char';

3. 檢視指定的某個系統變數

select @@global.系統變數名;

select @@【session.】系統變數名;

4. 為某個具體的系統變數賦值

# 方式1

set 【session.】系統變數名=值; # 為會話變數賦值

set global.系統變數名=值 # 為系統變數賦值

#方式2

set global.系統變數名=值;

set 【session.】系統變數名=值;

*/show global variables; # 檢視全域性變數

show session variables; # 檢視會話變數

/*全域性變數作用域:伺服器每次啟動時將為所有的全域性變數賦初始值,

賦值對所有會話(連線)都有效,但不能跨重啟

會話變數作用域:僅僅針對於當前會話有效,,修改時也僅修改當前會話/連線的值

*/

# 自定義變數

/*說明:變數由使用者自定義,不由系統直接提供,

使用方式相對靈活,使用較多

使用步驟:

1. 宣告

2. 賦值

3. 使用(檢視,比較,運算等)

*/# 使用者變數

/*作用域:針對當前會話/連線有效,同於會話變數的作用域

可以應用在任何地方

*/# 使用者變數宣告時必須同時初始化(賦初值)

# 三種初始化方法

set @使用者變數名=值;

set @使用者變數名:=值;

select @使用者變數名:=值;

set @v1=20;

# 賦值或更新使用者變數的值

set @使用者變數名=值;

set @使用者變數名:=值;

select @使用者變數名:=值;

# 下面這種方式也可以用來賦值,只要保證選則出的結果是乙個值而不是列表即可

select 字段 into @變數名

from 表;

set @v1:=35;

# 使用/檢視使用者變數值

select @使用者變數名;

select @v1;

# 區域性變數

/*作用域:只在區域性有效,即定義它的begin end中有效

應用在begin end中,並且只能在其中的第一句位置

*/# 宣告:

declare 變數名 資料型別;

# 宣告並初始化

declare 變數名 資料型別 default 值;

# 賦值,與使用者變數的區別在於不需要在變數名前加@了(select除外)

set 區域性變數名=值;

set 區域性變數名:=值;

select @區域性變數名:=值;

# 下面這種方式也可以用來賦值,只要保證選則出的結果是乙個值而不是列表即可(不需要加@)

select 字段 into 區域性變數名

from 表;

# 使用

select 區域性變數名;

資料庫學習 18 變數

說明 變數由系統定義,不是使用者定義,屬於伺服器層面。注意 全域性變數需要新增global關鍵字,會話變數需要新增session關鍵字,如果不寫,缺省會話級別。使用步驟 1 檢視所有系統變數 show global variables 檢視全域性變數 show session variables 檢...

八 資料庫之變數

檢視系統變數 檢視所有的系統變數 show global session variables 檢視滿足條件的系統變數 show global session variables like 如果沒有顯式宣告global還是session,則預設是session 檢視指定的系統變數的值 select g...

資料庫物件 游標型變數

定義 ref cursor 型別 建立游標變數有兩個步驟 1 定義 ref cursor 型別 語法格式 type ref type name is ref cursor return return type 說明 ref type name 是游標變數中使用的型別 return type 必須是乙...