MySQL基礎_變數
阿新 • • 發佈:2020-07-10
一. 系統變數:
變數由系統提供的,不用自定義,又分為全域性變數和會話變數。
1. 全域性變數
作用域:針對於所有會話(連線)有效,但不能跨重啟
#檢視所有全域性變數
SHOW GLOBAL VARIABLES;
#檢視滿足條件的部分系統變數
SHOW GLOBAL VARIABLES LIKE 'xxx';
#檢視指定的系統變數的值(以autocommit為例)
SELECT @@global.autocommit;
#為某個系統變數賦值(以autocommit為例)
SET @@global.autocommit=0;
SET GLOBAL autocommit=0;
2. 會話變數
作用域:針對於當前會話(連線)有效
#檢視所有會話變數
SHOW SESSION VARIABLES;
#檢視滿足條件的部分會話變數
SHOW SESSION VARIABLES LIKE 'xxx';
#檢視指定的會話變數的值(可以省略session)
SELECT @@autocommit;
SELECT @@session.tx_isolation;
#為某個會話變數賦值
SET @@session.tx_isolation='read-uncommitted';
SET SESSION tx_isolation='read-committed';
二. 自定義變數
變數由使用者定義,又分為使用者變數和區域性變數
1. 使用者變數
作用域:針對於當前連線(會話)生效
位置:begin end裡面,也可以放在外面
使用:
/*
①宣告並賦值:
set @變數名=值;或
set @變數名:=值;或
select @變數名:=值;
②更新值
方式一:
set @變數名=值;或
set @變數名:=值;或
select @變數名:=值;
方式二:
select xx into @變數名 from 表;
③使用
select @變數名;
*/
2. 區域性變數
作用域:僅僅在定義它的begin end中有效
位置:只能放在begin end中,而且只能放在第一句
使用:
/* ①宣告 declare 變數名 型別 【default 值】; ②賦值或更新 方式一: set 變數名=值;或 set 變數名:=值;或 select @變數名:=值; 方式二: select xx into 變數名 from 表; ③使用 select 變數名; */