跳转至

变量

系统变量

  • 由系统定义,属于服务器层面
  • 系统变量:
    • 全局系统变量
      • 需要添加GLOBAL关键字
    • 会话系统变量
      • 需要添加SESSION关键字

        如果不写, 默认为会话级别

  • 查看系统变量
    • 查看全部系统变量
      • SHOW GLOBAL VARIBLES;
      • SHOW SESSION VARIBLES;
    • 查看特定系统变量
      • MySQL中的系统变量以@@开头,
      • SHOW GLOBAL @@global|session.varible_name;
      • 若不指定系统变量或会话变量,默认为系统变量
  • 修改系统变量的值
    • 修改MySQL配置文件
      • 需要重启MySQL服务
    • 在MySQL服务运行期间使用SET指令
      • 服务重启后恢复

用户变量

  • 用户变量分类
    • 用户变量以@开头
    • 根据范围不同
      • 会话用户变量
        • 作用域和会话变量一样,只对当前会有有效
      • 局部变量
        • 只在BEGIN~END语句块中有效,局部变量只能在存储过程函数中生效

会话用户变量

  • 定义:SET @varible_name =|:= value;
  • 查看用户变量:SELECT @varible_name;

局部变量

  • 定义:可以使用DECLARE语句定义一个局部变量
  • 作用域:仅仅在定义他的BEGIN~END语句块中有效
  • 位置:BEGIN~END语句块的第一句
    BEGIN
        DECLARE varible_name datatype;
        ...
    
    END;