系统变量:
全局变量
会话变量
自定义变量:
用户变量
局部变量
一、系统变量
说明:
变量是由系统提供的,不是用户定义的,属于服务器层面
注意:
如果是全局级别,则需要加global,如果是会话级别,则需要加session,如果不写则默认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、查看所有的全局变量
show global variables;
2、查看部分全局变量
show global variables like ‘%char%’;
3、查看指定全局变量的值
select @@global.autocommit;
select @@tx_isolation;
4、为某个指定的全局变量赋值
set @@global.autocommit;
会话变量
作用域:
仅仅针对于当前会话(连接)有效。
1、查看所有的会话变量
show session variables;
show variables;
2、查看部分会话变量
show variables like ‘%char%’;
show session variables like ‘%char%’;
3、查看指定会话变量的值
select @@tx_isolation;
select @@session.tx_isolation;
4、为某个指定的会话变量赋值
set @@session tx_isolation=‘read-committed’;
set @@tx_isolation=‘read-uncommitted’;
二、用户自定义变量
说明:
变量是用户自己定义的,不是系统的
使用步骤:
声明
赋值
使用(查看,比较,运算等)
用户变量
作用域:
针对当前会话(连接)有效,同于绘画变量的作用域
应用在任何地方,begin end里面或者begin end外面
1、声明并初始化
set @用户变量名 = 值;
set @用户变量名 := 值;
select @用户变量名 := 值;
2、赋值(更新)
方式一:set或select
set @用户变量名 = 值;
set @用户变量名 := 值;
select @用户变量名 := 值;
方式二:通过select into
select 字段 into 变量名
from 表;
3、使用(查看用户变量的值)
select @用户变量;
局部变量
作用域:
仅仅在定义它的begin end中有效
应用在:
begin end 中第一句话!!!
1、声明
declare 变量名 类型;
declare 变量名 类型 default 值;
2、赋值(更新)
方式一:set或select
set 局部变量名 = 值;
set 局部变量名 := 值;
select @局部变量名 := 值;
方式二:通过select into
select 字段 into 局部变量名
from 表;
3、使用(查看用户变量的值)
select 局部变量名;