系统变量
全局变量
作用域:服务器每次启动为所有全局变量赋初值,针对所有会话有效,但不能跨重启
- 查看所有全局变量
show global variables;
- 查看部分全局变量
例:看包含char字符的变量
show global variables like '%char%‘;
- 查看指定全局变量的值
例:两种方式
select @@global.autocommit;
select @@tx_isolation;
- 为某个全局变量赋值
set @@global.autocommit=0;
会话变量
作用域:针对当前会话有效
- 查看所有变量
show variables;
show session variables;
- 查看部分变量
show 【session】 variables like ’%char%‘;
- 查看指定某个变量
select @@session.tx_isolation;
select @@tx_isolation;
- 为某个变量赋值
set @@tx_isolation='read-uncommited';
set session @@tx_isolation='read-uncommited';
自定义变量
用户变量
作用域:针对当前会话有效,同会话变量作用域
赋值操作:=或:=
-
声明并初始化
以下三种方式均可使用
set @用户变量名=值;
set @用户变量名:=值;
select @用户变量名:=值; -
赋值
上述三个方式可以赋值,除此之外还可以使用:
select 字段 into @变量名
from 表; -
使用(查看)
select @用户变量名;
局部变量
作用域:仅仅在定义它的begin end中有效。应用在begin end中的第一句话
- 声明
declare 变量名 类型;
declare 变量名 类型 default 值; - 赋值
和用户变量赋值一样,除了select需要保留@以外,其它均去掉@ - 使用
select 变量名;