MySQL变量

11 篇文章 0 订阅

概述:用户变量使用@+变量名使用;系统变量由系统给出,直接调用变量使用。

变量类型

  • 用户变量
    ▪ 局部变量
    ▪ 会话变量

  • 系统变量
    ▪ 会话变量
    ▪ 全局变量

用户变量

用户自定义变量是会话级别的变量。其作用域是当前连接,声明、赋值和查询都是用@符号。

BEGIN
    #变量的赋值方式一:直接赋值,方式有以下两种。
    set @var1 = 2;
    set @var2 := 3;

    #变量的赋值方式二:将查询结果赋值给变量
    select u_id into @var3 from users where u_name = 'zhangsan';

END

局部变量

局部变量一般存在于SQL语句块中,如函数和存储过程中begin和end语句块中,其作用域也仅限该语句块内,生命周期也仅在调用期间。

BEGIN
    #变量的定义
    declare var int(4) default 0; #declare声明变量必须在存储过程的最开始

    #变量的赋值方式一:直接赋值
    set var = 2;

    #变量的赋值方式二:将查询结果赋值给变量
    select u_id into var from users where u_name = 'zhangsan';
END

会话变量

会话变量是服务器为每个客户端连接维护的一系列变量,其作用域与生命周期也仅限当前连接。

#显示所有的会话变量
show session variables;
       
#查询会话变量的值,方式有以下三种。
show variables like '%auto_increment_increment%'; 
select @@auto_increment_increment;
select @@session.auto_increment_increment;
select @@local.auto_increment_increment;

#设置会话变量的值,方式有以下三种。
set auto_increment_increment=1; 
set session auto_increment_increment=1;
set @@session.auto_increment_increment=1; 
set @@local.auto_increment_increment=1; 

全局变量

服务器启动根据配置文件初始化全局变量,未定义则使用系统默认值初始化。全局变量作用于server的整个生命周期。

#显示所有的全局变量
show global variables;

#查询全局变量的值的两种方式
show variables like '%sql_warnings%';
select @@global.sql_warnings; 

#设置全局变量的值的两种方式
set sql_warnings=FALSE;
set global sql_warnings=FALSE;
set @@global.sql_warnings=OFF; 

变量查看

系统变量

SHOW {GLOBAL|SESSION} VARIABLES [LIKE CLAUSE];

状态变量

SHOW {GLOBAL|SESSION} STATUS [LIKE CLAUSE];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值