变量和Java中类似
- 系统变量:系统提供,不是用户定义,属于服务器层面
- 查看所有系统变量
show global|session variables;
- 查看满足条件的部分系统变量
show global|session variables like ‘%char%’
- 查看指定的某个系统变量的值
select @@global|session.系统变量名;
- 为某个系统变量赋值
方式一、
set global|session 系统变量名 = 值;
方式二、
set @@ global|session.系统变量名=值;
查看全局或回话变量,默认回话变量可不写session
全局变量
作用域:服务器每次启动为每个变量初始化,服务器未重启之前对所有回话有效
- 查看所有全局变量
Show global variable;
- 查看部分全局变量
Show global variable like ‘%char%’;
- 查看指定全局变量的值
Select @@global.变量名;
Select @@变量名;
4、修改指定全局变量名
Set @@global.变量名 =值;
会话变量
作用域:仅针对于当前回话有效
- 查看所有回话变量
Show session variable;
- 查看部分回话变量
Show session variable like ‘%char%’;
- 查看指定的回话变量
Select @@session.变量名;
Select @@变量名;
- 为某个回话变量赋值
Set @@变量名=’值’;
二、自定义变量:用户自己定义,不是系统定义的
使用步骤:声明、赋值、使用(查看、比较、运算等)
用户变量
作用域:同会话变量作用域
应用在任何地方,可以在begin end里面或外面
1、声明并初始化
Set @用户变量名=值; 或
Set @用户变量名:=值; 或
Select @用户变量:=值
2、赋值
方式一
Set @用户变量名=值; 或
Set @用户变量名:=值; 或
Select @用户变量:=值;
方式二
Select 字段 into @变量名 from 表;
-
- 查看
Select @变量名;
局部变量
作用域:仅仅在定义它的begin end中且为第一句话中有效
- 声明
Declare 变量名 类型;
Declare 变量名 类型 default 值;
- 赋值
方式一、
Set 局部变量名=值; 或
Set 局部变量名:=值; 或
Select @局部变量:=值
方式二、
Select 字段 into 局部变量名 from 表;
- 使用
Select 局部变量名;