MySQL变量

MySQL中的变量

一、系统变量:包括全局变量、会话变量。

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

​ 注意:全局变量需要添加global关键字,会话变量需要添加session关键字。如果不写,默认就是会话级别(session)。

​ 使用步骤:

​ 1、查看所有的系统变量

​ show global | 【session】 variables;

​ 2、查看满足条件的部分系统变量

​ show global | 【session】 variables like ‘%char%’;

​ 3、查看指定的某个系统变量的值

​ select @@global |【session】. 系统变量名;

​ 4、为某个系统变量名赋值

​ 方式一:set global |【session】系统变量名=值;

​ 方式二:set @@global | 【session】.系统变量名= 值;

  1. 全局变量

    /*
    作用域:针对于所有会话(连接)有效,但不能跨重启
    */
    #①查看所有的全局变量
    show global variables;
    #②查看满足条件的全局变量
    show global variables like '%char%';
    #③查看指定的系统变量的值
    select @@global.tx_isolation;
    #④为某个全局变量赋值
    set global tx_isolation = '';
    set @@global.tx_isolation = '';
    
  2. 会话变量

    /*
    作用域:针对于当前会话(连接)有效
    */
    #①查看所有的会话变量
    show session variables;
    #②查看部分的会话变量
    show session variables like '%char%';
    #③查看指定的会话变量
    select @@session.tx_isolation;
    select @@tx_isolation;
    #④为指定的会话变量赋值
    set tx_isolation = 'read-committed';
    set @@session.tx_isolation = 'read-uncommitted';
    

二、自定义变量:包括用户变量、局部变量。

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

​ 使用步骤:声明、赋值、使用(查看、比较、运算等)

  1. 用户变量

    /*
    作用域:针对于当前会话(连接)有效,作用域同于会话变量
    */
    #赋值操作符:=或:=
    
    #①声明并初始化
        SET @变量名 = 值;
        SET @变量名 := 值;
        SELECT @变量名 := 值;
    #②赋值(更新变量的值)
    方式一:
    	set @变量名 = 值;
    	set @变量名 := 值;
    	select @变量名 := 值;
    方式二:
    	select 字段 into @变量名 from 表;
    	
    #③使用(查看变量的值)
    select @变量名;
    
    
    #案例:声明两个变量,求和并打印
        SET @m=1;
        SET @n=1;
        SET @sum=@m+@n;
        SELECT @sum;
    
  2. 局部变量

    /*
    作用域:仅仅在定义它的begin end块中有效
    应用在 begin end中的第一句话
    */
    #①声明
    DECLARE 变量名 类型;
    DECLARE 变量名 类型 【DEFAULT 值】;
    
    #②赋值(更新变量的值)
    方式一:
    	set 局部变量名 =;
    	set 局部变量名 :=;
    	SELECT 局部变量名 :=;
    	
    #方式二:
    	SELECT 字段 INTO 具备变量名 FROM;
    	
    #③使用(查看变量的值)
    SELECT 局部变量名;
    
    #案例:声明两个变量,求和并打印
        DECLARE m INT DEFAULT 1;
        DECLARE n INT DEFAULT 1;
        DECLARE SUM INT;
        SET SUM=m+n;
        SELECT SUM;
    
  3. 用户变量和局部变量的对比

    			作用域				定义位置				语法
    用户变量	当前会话			会话的任何地方			加@符号,不用指定类型
    局部变量	定义它的BEGIN END中 	BEGIN END的第一句话	一般不用加@,需要指定类型
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值