<MySQL>入門六 變數
阿新 • • 發佈:2018-12-12
/* 變數 系統變數: 全域性變數 會話變數 自定義變數 使用者變數 區域性變數 */ -- ------------系統變數-------------------- /* 變數由系統提供,不是使用者定義,屬於伺服器層面 檢視的語法: show global variables; show session variables; 不寫session,也是會話級別的 檢視滿足條件的部分系統變數 show global【session】 variables like '%char%'; 檢視指定的某個系統變數的值 select @@global【session】 系統變數名; 為系統變數賦值 set global|session 系統變數名 = 值 set @@global|session 系統變數名 = 值 如果是全域性級別,加global,如果是會話級別session,不寫預設是session 作用域:伺服器每次啟動為所有的全域性變數賦初始值,針對所有的會話(連線)有效,但不能跨重啟*/ -- ------------使用者變數-------------------- /* 使用者變數:針對當前會話(連線)有效 宣告並初始化: set @使用者變數名 = 值; set @使用者變數名 := 值; select @使用者變數名 := 值; 複製或更新: set @使用者變數名 = 值; set @使用者變數名 := 值; select @使用者變數名 := 值; select 欄位 into @使用者變數名 from 表; 檢視使用者變數值:select @使用者變數名 作用域:會話中任意地方*/ -- ------------區域性變數-------------------- /* 作用域:僅僅定義在begin end中有效,並且是第一句話 宣告:declare 變數名 型別; declare 變數值 型別 default 值; 賦值: set 區域性變數名 = 值; set 區域性變數名 := 值; select @區域性變數名 := 值; select 欄位 into 區域性變數名 from 表; 使用:select 區域性變數名;*/ -- 案例:使用者變數 SET @m = 2; SET @n = 1; SET @sum = @m + @n; SELECT @sum; -- 3 -- 區域性變數 --報錯 DECLARE m INT DEFAULT 1; DECLARE m INT DEFAULT 2; DECLARE SUM INT; SET SUM = m + n; SELECT SUM;