說明:變量由系統(tǒng)提供,不是用戶定義,屬于服務(wù)器層面
一、全局變量
作用域:針對(duì)于所有會(huì)話(連接)有效,但不能跨重啟
查看所有全局變量
SHOW GLOBAL VARIABLES;
查看滿足條件的部分系統(tǒng)變量
SHOW GLOBAL VARIABLES LIKE '%char%';
查看指定的系統(tǒng)變量的值
SELECT @@global.autocommit;
為某個(gè)系統(tǒng)變量賦值
SET @@global.autocommit=0;
SET GLOBAL autocommit=0;
Eg.
①查看所有的全局變量
SHOW GLOBAL VARIABLES;
②查看部分的全局變量
SHOW GLOBAL VARIABLES LIKE '%char%';
③查看指定的全局變量的值
SELECT @@global.autocommit;
SELECT @@tx_isolation;
④為某個(gè)指定的全局變量賦值
SET @@global.autocommit=0;
二、會(huì)話變量
作用域:針對(duì)于當(dāng)前會(huì)話(連接)有效
Eg.
①查看所有會(huì)話變量
SHOW SESSION VARIABLES;
②查看滿足條件的部分會(huì)話變量
SHOW SESSION VARIABLES LIKE '%char%';
③查看指定的會(huì)話變量的值
SELECT @@autocommit;
SELECT @@session.tx_isolation;
④為某個(gè)會(huì)話變量賦值
SET @@session.tx_isolation='read-uncommitted';
SET SESSION tx_isolation='read-committed';
自定義變量
一、用戶變量
聲明并初始化:
SET @變量名=值;
SET @變量名:=值;
SELECT @變量名:=值;
賦值:
方式一:一般用于賦簡單的值
SET 變量名=值;
SET 變量名:=值;
SELECT 變量名:=值;
方式二:一般用于賦表 中的字段值
SELECT 字段名或表達(dá)式 INTO 變量
FROM 表;
使用:
select @變量名;
二、局部變量
聲明:
declare 變量名 類型 【default 值】;
賦值:
方式一:一般用于賦簡單的值
SET 變量名=值;
SET 變量名:=值;
SELECT 變量名:=值;
方式二:一般用于賦表 中的字段值
SELECT 字段名或表達(dá)式 INTO 變量
FROM 表;
使用:
select 變量名
二者的區(qū)別:
作用域 | 定義位置 | 語法
- | - | -
用戶變量 | 當(dāng)前會(huì)話 | 加@符號(hào),不用指定類型
局部變量 | 定義它的BEGIN END中 | BEGIN END的第一句話 一般不用加@,需要指定類型