十六、变量详解

北城余情 提交于 2019-12-02 22:52:06

前言:  

代码中被[]包含的表示可选,|符号分开的表示可选其一。

我们在使用mysql的过程中,变量也会经常用到,比如查询系统的配置,可以通过查看系统变量来了解,当我们需要修改系统的一些配置的时候,也可以通过修改系统变量的值来进行。

我们需要做一些批处理脚本的时候,可以使用自定义变量,来做到数据的复用。

本文内容

  • 详解系统变量的使用

  • 详解自定义变量的使用

一、变量分类  

  • 系统变量

  • 自定义变量

二、系统变量  

  概念:系统变量由系统定义的,不是用户定义的,属于mysql服务器层面的。  

  系统变量分类    

  • 全局变量

  • 会话变量  

  使用步骤    

    查看系统变量

    //1.查看系统所有变量
    show [global | session] variables;
    //查看全局变量
    show global variables;
    //查看会话变量
    show session variables;
    show variables;

    上面使用了show关键字  

    查看满足条件的系统变量

    通过like模糊匹配指定的变量

    //查看满足条件的系统变量(like模糊匹配)
    show [global|session] like '%变量名%';

    上面使用了show和like关键字。    

    查看指定的系统变量

    //查看指定的系统变量的值
    select @@[global.|session.]系统变量名称;

    注意select@@关键字,global和session后面有个.符号。    

    赋值

    //方式1
    set [global|session] 系统变量名=值;

    //方式2
    set @@[global.|session.]系统变量名=值;
  

  注意:

    上面使用中介绍的,全局变量需要添加global关键字,会话变量需要添加session关键字,如果不写,默认为session级别。

    全局变量的使用中用到了@@关键字,后面会介绍自定义变量,自定义变量中使用了一个@符号,这点需要和全局变量区分一下。

三、全局变量  

  作用域

    mysql服务器每次启动都会为所有的系统变量设置初始值。

    我们为系统变量赋值,针对所有会话(连接)有效,可以跨连接,但不能跨重启,重启之后,mysql服务器会再次为所有系统变量赋初始值。  

  示例

    /*查看所有全局变量*/
    show global variables;

    /*查看包含`tx`字符的变量*/
     show global variables like '%tx%';

    /*查看指定名称的系统变量的值,如查看事务默认自动提交设置*/
    select @@global.autocommit;
  

  为某个变量赋值

    /*为某个系统变量赋值*/
    set global autocommit=0;
    set @@global.autocommit=1;

四、会话变量  

  作用域

    针对当前会话(连接)有效,不能跨连接。

    会话变量是在连接创建时由mysql自动给当前会话设置的变量。

  示例

    /*①查看所有会话变量*/
    show session variables;

    /*②查看满足条件的步伐会话变量*/
    /*查看包含`char`字符变量名的会话变量*/
    show session variables like '%char%';

    /*③查看指定的会话变量的值*/
    /*查看事务默认自动提交的设置*/
    select @@autocommit;
    select @@session.autocommit;
    /*查看事务隔离级别*/
    select @@tx_isolation;
    select @@session.tx_isolation;

    /*④为某个会话变量赋值*/
    set @@session.tx_isolation='read-uncommitted';
    set @@tx_isolation='read-committed';
    set session tx_isolation='read-committed';
    set tx_isolation='read-committed';

五、自定义变量  

  概念

    变量由用户自定义的,而不是系统提供的。

  使用

   使用步骤:    1. 声明    2. 赋值    3. 使用(查看、比较、运算)

  分类

  • 用户变量

  • 局部变量  

  用户变量

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!