一、系统变量
说明:变量由系统提供,不用自定义
(1)查看系统变量
show [global|session] variables like ' ',如果没有显示声明global还是session,则默认是session
(2)查看指定的系统变量的值
select @@[global|session] .变量名;如果没有显示声明global还是session,则默认是session
(3)为系统变量赋值
方式一:
set [global|session] 变量名=值;如果没有显示声明global还是session,则默认是session
方式二:
set @@变量名=值;
1、全局变量
服务器层面上的,必须拥有super权限才能为系统变量赋值,
作用域为整个服务器,也就是针对于所有连接(对话)有效
2、会话变量
服务器为每一个连接的客户都提供了系统变量,作用域为当前的连接(会话)
二、自定义变量
1、用户变量
作用域:针对当前连接(会话)有效
位置:begin end 里面,begin end 外面
使用:
(1)声明并赋值
set @变量名=值;或
set @变量名:=值;或
select @变量名:=值;
(2)更新值
方式一:
set @变量名=值;或
set @变量名:=值;或
select @变量名:=值;
方式二:
select xx into @变量名 from 表;
(3)使用
select @变量名;
2、局部变量
作用域:仅仅在定义它的begin...end中有效
位置:只能放在begin...end中,而且只能位于第一句
使用:
(1)声明
declare 变量名 类型【default 值】
(2)赋值和更新
方式一:
set @变量名=值;或
set @变量名:=值;或
select @变量名:=值;
方式二:
select xx into @变量名 from 表;
(3)使用
select 变量名;