一、 系統變數 說明:變數由系統定義,不是用戶定義,屬於伺服器層面 註意:全局變數需要添加global關鍵字,會話變數需要添加session關鍵字,如果不寫,預設會話級別 使用步驟: 1、查看所有系統變數 show global|【session】variables; 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】系統變數名=值;
1.1全局變數
作用域:針對於所有會話(連接)有效,但不能跨重啟
精確地使用 select 不精確的使用 show
①查看所有全局變數
SHOW GLOBAL VARIABLES;
②查看滿足條件的部分系統變數
SHOW GLOBAL VARIABLES LIKE '%char%';
③查看指定的系統變數的值
SELECT @@global.autocommit;
④為某個系統變數賦值
SET @@global.autocommit=0;
SET GLOBAL autocommit=0;
1.2會話變數
作用域:針對於當前會話(連接)有效
①查看所有會話變數
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、賦值
3、使用(查看、比較、運算等)
2.1用戶變數
作用域:針對於當前會話(連接)有效,作用域同於會話變數
賦值操作符:=或:=
①聲明並初始化
SET @變數名=值;
SET @變數名:=值;
SELECT @變數名:=值;
②賦值(更新變數的值)
方式一:
SET @變數名=值;
SET @變數名:=值;
SELECT @變數名:=值;
方式二:
SELECT 欄位 INTO @變數名
FROM 表;
③使用(查看變數的值)
SELECT @變數名;
2.2局部變數
作用域:僅僅在定義它的begin end塊中有效
應用在 begin end中的第一句話
②賦值(更新變數的值)
方式一:
SET 局部變數名=值;
SET 局部變數名:=值;
SELECT 局部變數名:=值;
方式二:
SELECT 欄位 INTO 具備變數名
FROM 表;
③使用(查看變數的值)
SELECT 局部變數名;
用戶變數和局部變數比較