MySQL变量的使⽤
在mysql⽂档中,mysql变量可分为两⼤类,即系统变量和⽤户变量。
但根据实际应⽤⼜被细化为四种类型,即局部变量、⽤户变量、会话变量和全局变量。
⼀、局部变量
mysql局部变量,只能⽤在begin/end语句块中,⽐如存储过程中的begin/end语句块。
其作⽤域仅限于该语句块。
-- declare语句专门⽤于定义局部变量,可以使⽤default来说明默认值
declare age int default 0;
-- 局部变量的赋值⽅式⼀
set age=18;
-- 局部变量的赋值⽅式⼆
select StuAge
into age
from demo.student
where StuNo='A001';
⼆、⽤户变量
mysql⽤户变量,mysql中⽤户变量不⽤提前申明,在⽤的时候直接⽤“@变量名”使⽤就可以了。
其作⽤域为当前连接。
-- 第⼀种⽤法,使⽤set时可以⽤“=”或“:=”两种赋值符号赋值
set @age=19;
set @age:=20;
mysql帮助文档-- 第⼆种⽤法,使⽤select时必须⽤“:=”赋值符号赋值
select @age:=22;
select @age:=StuAge
from demo.student
where StuNo='A001';
三、会话变量
mysql会话变量,服务器为每个连接的客户端维护⼀系列会话变量。
其作⽤域仅限于当前连接,即每个连接中的会话变量是独⽴的。
-- 显⽰所有的会话变量
show session variables;
-- 设置会话变量的值的三种⽅式
set session auto_increment_increment=1;
set @@session.auto_increment_increment=2;
set auto_increment_increment=3; -- 当省略session关键字时,默认缺省为session,即设置会话变量的值
-- 查询会话变量的值的三种⽅式
select @@auto_increment_increment;
select @@session.auto_increment_increment;
show session variables like '%auto_increment_increment%'; -- session关键字可省略
-- 关键字session也可⽤关键字local替代
set @@local.auto_increment_increment=1;
select @@local.auto_increment_increment;
四、全局变量
mysql全局变量,全局变量影响服务器整体操作,当服务启动时,它将所有全局变量初始化为默认值。要想更改全局变量,必须具有super权限。
其作⽤域为server的整个⽣命周期。
-- 显⽰所有的全局变量
show global variables;
-- 设置全局变量的值的两种⽅式
set global sql_warnings=ON; -- global不能省略set @@global.sql_warnings=OFF;
-- 查询全局变量的值的两种⽅式
select @@global.sql_warnings;
show global variables like '%sql_warnings%';
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论