系统变量
系统变量由系统提供,不是用户定义,属于服务器层面
1、查看所有系统变量语法:
show global | session variables;
2、查看满足条件的部分系统变量:
show global | session variables like '%char%';
3、查看某个系统变量的值:
select @@global | @@session .系统变量名
4、为某个系统变量赋值
# 方式一
set global | session 系统变量名=值;
# 方式二
set @@global | @@session .系统变量名=值;
注意:在使用上述SQL语句时,global代表全局变量,session代表会话变量,不写则是会话级别的变量。
全局变量
作用域:服务器每次启动将为所有的全局变量赋初始值,针对于所有的会话(连接)有效,但不能跨重启。
会话变量
作用域:仅针对于当前会话(连接)有效。
自定义变量
用户变量
作用域:针对于当前会话(连接)有效。
说明:该变量是用户自定义的,不是由系统提供的;
使用步骤:声明->赋值->使用
声明并赋值:
方式一
set @用户变量名=值;
方式二
set @用户变量名:=值;
方式三
select @用户变量名:=值;
方式四
select 字段 into 变量名 from 表;
查看用户变量值
select @变量名;
局部变量
作用域:仅仅在定义它的 begin end 中有效,且应用在 begin end 中的第一句话
使用步骤:
(1)声明
declare 变量名 类型;
declare 变量名 类型 default 值;
(2)赋值
方式一
set @局部变量名=值;
方式二
set @局部变量名:=值;
方式三
select @局部变量名:=值;
方式四
select 字段 into 变量名 from 表;
(3)使用
select 局部变量名;