mysql中的變數詳解
阿新 • • 發佈:2018-12-21
mysql中的變數分為系統變數和自定義變數
一、系統變數
1.說明:變數由系統定義,不是使用者定義,屬於伺服器層面 2.注意:系統變數包含全域性變數和會話變數,全域性變數需要新增global關鍵字,會話變數需要新增session關鍵字,如果不寫,預設會話級別 使用步驟: 1、檢視所有系統變數 show global|【session】variables; 2、檢視滿足條件的部分系統變數 show global|【session】 variables like '%char%'; 3、檢視指定的系統變數的值 select @@global|【session】系統變數名; 4、為某個系統變數賦值 方式一: set global|【session】系統變數名=值; 方式二: set @@global|【session】系統變數名=值; 3.全域性變數: 作用域:針對於所有會話(連線)有效,但不能跨重啟 #①檢視所有全域性變數 SHOW GLOBAL VARIABLES; #②檢視滿足條件的部分系統變數 SHOW GLOBAL VARIABLES LIKE '%char%'; #③檢視指定的系統變數的值 SELECT @@global.autocommit; #④為某個系統變數賦值 SET @@global.autocommit=0; SET GLOBAL autocommit=0; 4.會話變數 作用域:針對於當前會話(連線)有效 #①檢視所有會話變數 SHOW SESSION VARIABLES; #②檢視滿足條件的部分會話變數 SHOW SESSION VARIABLES LIKE '%char%'; #③檢視指定的會話變數的值 SELECT @@autocommit; SELECT @@session.tx_isolation; #④為某個會話變數賦值 SET @@session.tx_isolation='read-uncommitted'; SET SESSION tx_isolation='read-committed';
二、自定義變數
1.說明:變數由使用者自定義,而不是系統提供的,自定義變數包含使用者變數和區域性變數 2.使用步驟: 1、宣告 2、賦值 3、使用(檢視、比較、運算等) 3.使用者變數 作用域:針對於當前會話(連線)有效,作用域同於會話變數 賦值操作符:=或:= ①宣告並初始化 SET @變數名=值; SET @變數名:=值; SELECT @變數名:=值; ②賦值(更新變數的值) #方式一: SET @變數名=值; SET @變數名:=值; SELECT @變數名:=值; #方式二: SELECT 欄位 INTO @變數名 FROM 表; ③使用(檢視變數的值) SELECT @變數名; 4.區域性變數 作用域:僅僅在定義它的begin end塊中有效 應用在 begin end中的第一句話 ①宣告 DECLARE 變數名 型別; DECLARE 變數名 型別 【DEFAULT 值】; ②賦值(更新變數的值) #方式一: SET 區域性變數名=值; SET 區域性變數名:=值; SELECT 區域性變數名:=值; #方式二: SELECT 欄位 INTO 具備變數名 FROM 表; ③使用(檢視變數的值) SELECT 區域性變數名;