zoukankan      html  css  js  c++  java
  • 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查询语句赋值时,使用的是:=而不是=,因为mysql语言认为=是比较运算符,而在编程语言中==是比较运算符

    查询用户变量
    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;
  • 相关阅读:
    【题解】NOIP2016 提高组 简要题解
    【题解】LOJ2759. 「JOI 2014 Final」飞天鼠(最短路)
    【题解】Comet OJ 国庆欢乐赛 简要题解
    【题解】P3645 [APIO2015]雅加达的摩天楼(分层图最短路)
    【题解】NOIP2017逛公园(DP)
    【题解】Comet OJ Round 70 简要题解
    【题解】 由乃(思博+欧拉定理+搜索)
    【题解】P5446 [THUPC2018]绿绿和串串(manacher)
    【题解】P4503 [CTSC2014]企鹅QQ(哈希)
    【题解】CF986E Prince's Problem(树上差分+数论性质)
  • 原文地址:https://www.cnblogs.com/bibiafa/p/9336625.html
Copyright © 2011-2022 走看看