1、系统变量

   变量由系统定义,不是用户定义,属于 服务器 层面。启动MySQL服务,生成MySQL服务实例期间,MySQL将为MySQL服务器内存中的系统变量赋值,这些系统变量定义了当前MySQL服务实例的属性、特 征。这些系统变量的值要么是 编译MySQL时参数 的默认值,要么是 配置文件 (例如my.ini等)中的参数值。

  系统变量分为全局系统变量(需要添加 global 关键字)以及会话系统变量(需要添加 session 关键 字),有时也把全局系统变量简称为全局变量,有时也把会话系统变量称为local变量。如果不写,默认 会话级别。静态变量(在 MySQL 服务实例运行期间它们的值不能使用 set 动态修改)属于特殊的全局系 统变量

   查看系统变量:

    

 

 

     

    

 

 

      #为某个系统变量赋值

      方式1:
        SET @@global.变量名=变量值;
      #方式2:
        SET GLOBAL 变量名=变量值;
     #为某个会话变量赋值
      #方式1:
        SET @@session.变量名=变量值;
      #方式2:
        SET SESSION 变量名=变量值;

2、用户变量

  用户变量是用户自己定义的,作为 MySQL 编码规范,MySQL 中的用户变量以 一个“@” 开头。根据作用 范围不同,又分为 会话用户变量 和 局部变量 。

  

 

   会话用户变量

   

 

    例子:

      

 

 

  用户局部变量