MySQL变量定义及使用
概述
MySQL变量分为系统变量和自定义变量;
系统变量:由系统默认提供的变量,又分为全局变量和会话变量;
自定义变量:由用户自定义的变量,又分为用户变量和局部变量;
系统变量
如果是全局变量,需要加global;如果是会话变量,需要加session。
全局变量针对所有连接会话都有效,系统重启后失效;
会话变量仅对当前会话有效;
-- 查看所有系统变量
show global variables;
-- 查看所有会话变量
show session variables;
-- 查看满足条件的系统变量
show variables like '%char%';
-- 使用select查看指定的系统变量
select @@系统变量名;
select @@global.系统变量名;
select @@session.系统变量名;
-- 为某个系统变量赋值
方式一:
set global 系统变量名=值;
方式二:
set @@global.系统变量名=值;
自定义变量
用户变量:和会话变量作用域一样, 仅针对当前会话有效;
局部变量:仅在定义的begin end中有效;
用户变量
-- 用户变量声明
set @用户变量名=值;
set @用户变量名:值;
select @用户变量名:=值;
-- 用户变量赋值
set @用户变量名=值;
set @用户变量名:值;
select @用户变量名:=值;
select 字段 into 变量名 from 表;
-- 用户变量使用(查看、比较、运算)
select @用户变量名;
局部变量
-- 局部变量声明
declare 变量名 类型;
declare 变量名 类型 default 值;
-- 局部变量赋值
set 局部变量名=值;
set 局部变量名:值;
select @局部变量名:=值;
select 字段 info 局部变量名 from 表;
-- 局部变量使用
select @局部变量名;
示例:
set @a := 1;
set @b := 2;
set @sum := @a + @b;
select @sum;
(完)