首页 > 数据库技术 > 详细

mysql变量

时间:2018-07-19 16:49:23      阅读:164      评论:0      收藏:0      [点我收藏+]

1.局部变量

begin
    declare g_score int default 10;
end

仅在begin...end之间有效

2.用户变量

set @g_score = 10;
或者
set @g_score :=10;
或者
select @g_socre := 10;
或者
select @g_score := score from grade;

 用户变量以 @var_name的形式表示

select是查询语句。

select @g_score := 10的意思是查询10,将结果10赋值给@g_score变量

select @g_score := score from grade的意思是从grade表中查询score字段值,并将结果赋值给@g_score变量。由于select查询得到的结果可能是多条记录,那么会将最后一条记录值赋值给@g_score;

查询用户变量
select @g_score;

3.系统变量

会话变量 session variables

全局变量 global variables

每当成功连接mysql服务器,则表示建立一条会话。会话变量提供给当前连接用户使用,只要断开连接,那么当前用户的所有会话变量被回收。

全局变量是mysql读取my.ini配置文件后,对整个服务器创建的变量。

全局变量的值根据ini文件初始化,当有会话被创建时,则复制一份全局变量给新建的会话使用。当然全局变量和会话变量没有直接联系。修改会话变量不会影响全局变量。修改全局变量后,仅对以后新建的会话变量有影响。对当前已经存在的会话变量是没有影响的。

修改会话变量

set session auto_increment_increment = 2;
或者
set auto_increment_increment = 2;
或者
set @@session.auto_increment_increment = 2;
或者
set @@auto_increment_increment = 2

 先show variables或者show session variables查看有哪些会话变量,可别修改不存在的会话变量

查看会话变量

select @@session.auto_increment_increment;
或者
select @@auto_increment_increment;

 默认session可以省略,服务器知道这是会话变量

修改全局变量

set global auto_increment_increment = 2;
或者
set @@global.auto_increment_increment = 2;

 查看全局变量

select @@global.auto_increment_increment;

 

mysql变量

原文:https://www.cnblogs.com/bibiafa/p/9336625.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!