【MySQL笔记】会话用户变量(@)与局部变量(DECLARE)的使用

目录

用户变量

         用户变量的分类

会话用户变量

变量的定义

查看用户变量的值

局部变量

定义变量

变量赋值

使用变量

比较会话用户变量与局部变量


用户变量

用户变量的分类

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

会话用户变量:作用域和会话变量一样,只对当前连接会话有效

局部变量:只在 BEGIN 和 END 语句块中有效。局部变量只能在存储过程和存储函数中使用

会话用户变量

变量的定义

#方式一:“=”或“:=”
SET @用户变量 = 值;
SET @用户变量 := 值;

#方式二:“:=”或INTO关键字
SELECT @用户变量 := 表达式 [FROM 等子句];
SELECT 表达式 INTO @用户变量 [FROM 等子句]

查看用户变量的值

SELECT @用户变量;

局部变量

可以使用 DECLARE 语句定义一个局部变量,仅仅在定义它的 BEGIN...END 中有效,且在 BEGIN...END 中,只能放在第一句

BEGIN
    #声明局部变量
    DECLARE 变量名1 变量数据类型 [DEFAULT 变量默认值];
    DECLARE 变量名2, 变量名3,...变量数据类型 [DEFAULT 变量默认值];
    #为局部变量赋值
    SET 变量名1 = 值;
    SELECT 值 INTO 变量名2 [FROM 子句];
    #查看局部变量的值
    SELECT 变量1, 变量2, 变量3;
END

定义变量

DECLARE 变量名 类型 [default 值];

变量赋值

#用于赋简单的值
SET 变量名 = 值;
SET 变量名 := 值;

#用于赋表中的值
SELECT 字段名或表达式 INTO 变量名 FROM 表;

使用变量

SELECT 局部变量名;

比较会话用户变量与局部变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java小白。。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值