mysql变量

Posted 栲霓杞蛙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql变量相关的知识,希望对你有一定的参考价值。

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变量的主要内容,如果未能解决你的问题,请参考以下文章

如何创建片段以重复变量编号中的代码行

如何使用Android片段管理器传递变量[重复]

部分代码片段

append() 在这个代码片段中是如何工作的?与特定变量混淆[重复]

linux中怎么查看mysql数据库版本

从mysql的片段中加载ListView