• 变量


    一、分类

    系统变量:
      全局变量
      会话变量
    用户自定义变量:
      用户变量
      局部变量

    二、各变量详情

    1.系统变量

    说明:变量由系统提供,不是用户定义,属于服务器层面

    使用的语法:
        1.查看所有的系统变量
        show session variables;#默认查看会话级别系统变量
        show global variables;#查看系统级别变量
        2.查看满足条件的部分系统变量
        show global  variables like "%char%";
        3.查看指定的某个系统变量的值
        select @@系统变量名;#默认是会话级别
        select @@global.系统变量名;#查看全局级别系统变量
        4.为某个系统变量赋值
        方式一:
        set global 系统变量名=值;
        set session 系统变量名=值;
        方式二:
        set @@global.系统变量名=值;
    全局变量
    作用域:服务器每次启动将为所有的全局变量赋初始值,针对于所有的会话有效,但是不能跨重启。
        如果想重启时修改也生效,则需要修改配置文件了。
        
        查看所有的全局变量
        show global variables;
        查看部分的全局变量
        show global variables like "%cahr%";
        查看指定的全局变量的值
        select @@global.autocommit;
        为某个指定的全局变量赋值
        set @@global.autocommit=0;
    会话变量
    作用域:仅仅针对于当前会话有效。
        
        查看所有的会话变量
        show variables;
        show session variables;
        查看部分的会话变量
        show variables like "%char%";
        查看某个指定的会话变量
        select @@tx_isolation;
        select @@session.tx_isolation;
        为某个会话变量赋值
        set @@session.tx_isolation='read-uncommitted';
    View Code

    2.自定义变量

    说明:变量是用户自定义的,不是系统的

    用户变量
        作用域:针对于当前会话(连接)。
        1.声明并初始化
        set @用户变量名=值;
        set @用户变量名:=值;
        select @用户变量名:=值;
        2.赋值(更新用户变量的值)
        方式一:
        set @用户变量名=值;
        set @用户变量名:=值;
        select @用户变量名:=值;
        set @name="lqz";
        select @name;
        方式二:
        select 字段 into 变量名
        from 表;
    局部变量
    作用域:仅仅在定义它的begin end中有效
    1.声明:
    declare 变量名 类型
    declare 变量名 类型    DEFAULT 值;
    2.赋值
    方式一:通过set或select
        set 局部变量名=值;
        set 局部变量名:=值;
        set @局部变量名:=值;
    方式二:
        通过select into
        select 字段 into 局部变量名 from 表;
    对比用户变量和局部变量:
                    作用域             定义和使用的位置                        语法
    用户变量        当前会话            会话中的任何地方                    必须加@符号,不用限定类型
    局部变量        BEGIN END中         只能在BEGIN END中,且为第一句话      一般不用加@符号,需要限定类型
    View Code
  • 相关阅读:
    navicat安装与激活
    MySQL 安装
    oracle中not in 和 in 的替代写法
    oracle中in和exists的区别
    oracle中nvarchar2()和varchar2()的区别
    oracle稳定执行计划(更改)的方法
    oracle显示转化字段类型
    oracle中varchar2(2)存不了一个汉字的原因
    oracle中索引快速全扫描和索引全扫描的区别
    oracle常见的执行计划
  • 原文地址:https://www.cnblogs.com/xufengnian/p/11871668.html
Copyright © 2020-2023  润新知