• MySQL的四种变量类型


    一.全局变量
    在系统运行期间动态更改其参数,重启后失效.
    SET GLOABL var=XXX;
    SET @@global.var=XXX;
    以上两种方式等效

    查看系统的全局变量
    show global variables [like "%"];

    二.用户变量
    对当前回话有效,回话结束后,变量销毁
    SET @var=XXX;
    SELECT @var:=uid FROM table where id=10;
    使用@作为前缀标识符,set可以使用=或=:赋值,select则只能用:=进行赋值

    一个典型的示例:

    将积分表中更新后的积分返回,用于其他操作

    UPDATE test SET score=@score:=score+1 WHERE id=1;
    SELECT @score;


    三.会话变量
    对当前回话有效,回话结束后,变量销毁
    set session var_name = value;
    set @@session.var_name = value;
    set var_name = value;
    以上三种方式等效

    会话变量和用户变量的区别在于,除了前缀标识符外,会话变量是系统预先定义的一组变量,你不可能定义一个不存在的用户变量.

    set test='test';
    [Err] 1193 - Unknown system variable 'test';

    也就是会话变量只能被update而不能被insert

    查看当前会话的变量
    show [session] variables [like "%"];(其中session为默认,可以不用写)

    常见的如消除mysql默认的sql_mode模式,改为最为宽松的模式
    set sql_mode='';


    四.局部变量
    DECLEAR var INTEGER DEFAULT 0;
    一般定义在BEGIN和END语句块之间,语句块结束即消失.

    ps:
    begin和end之间用于定义一组sql复合语句;

  • 相关阅读:
    VS 对话框控件的Tab顺序问题
    基于OpenGL三维软件开发
    OpenGL 中的三维纹理操作
    VC 在桌面上绘制一些图形
    VC/MFC如何添加启动界面
    Cordova or Xamarin 用.net开发IOS和Android程序
    ASP.NET Web API
    软件项目如何选型
    CIO的职责、条件及价值
    Oracle日期周详解IW
  • 原文地址:https://www.cnblogs.com/itfenqing/p/6884193.html
Copyright © 2020-2023  润新知