MySQL十七:变量

变量

一、概述
  1. 定义

    在MySQL数据库的存储过程和函数中,可以使用变量来存储查询或计算的中间数据,或输出最终的结果数据。

  2. 分类
    分类细分关键字
    系统变量全局系统变量(全局变量)GLOBAL
    *会话系统变量(local变量)(默认)SESSION
    用户自定义变量会话用户变量
    *局部变量

    系统变量 及 用户自定义变量

二、系统变量
  1. 定义

    属于服务器层面。启动MySQL服务,MySQL将为MySQL服务器内存中的系统变量赋值,这些系统变量定义了当前MySQL服务实例的属性、特征。

    要么是编译MySQL时参数的默认值,要么是配置文件 - my.ini 中的参数值。

  2. 分类

    有些系统变量只能是全局的;

    有些系统变量既可以是全局又可以是会话;

    有些系统变量只能是当前会话(相当于在Natival中连接了一次用户)

  3. 作用时效
    变量时效失效
    1系统全局变量此次MySQL服务器的启动时间内重启MySQL服务器,
    所有的系统全局变量全部变为默认值,
    在上一次启动中修改的全局变量全部失效
    2系统会话变量一次会话,
    即navicat客户端的一次连接
    重启navicat客户端或
    navicat客户端开启另一个连接
  4. 查看
    # 查看全部系统变量
    SHOW GLOBAL VARIABLES;
    SHOW SESSION VARIABLES;
    # 查看部分系统变量
    SHOW GLOBAL VARIABLES LIKE '%标识符%';
    SHOW SESSION VARIABLES LIKE '%标识符%';
    # 查看指定系统变量
    SHOW @@globle.变量名;
    SHOW @@session.变量名;
    
  5. 修改

    在MySQL服务器运行器即可修改

    # 为某个系统变量赋值
    SET @@globle.变量名 = 变量名;
    SET GLOBAL 变量名 = 变量名;
    # 为某个会话变量赋值
    SET @@session.变量名 = 变量名;
    SET SESSION 变量名 = 变量名;
    
三、用户自定义变量
  1. 会话用户变量(以@开头)
    # 设置用户变量
    SET @用户变量 =;
    # 查看用户变量
    SELECT @用户变量 := 表达式;
    SELECT 表达式 INTO @用户变量 [FROM 等子句]
    
    SELECT @num := COUNT(*) FROM employees;
    SELECT AVG(salary) INTO @avgsalary FROM employees;
    
  2. 查看用户变量

    只能放在BEGIN…END中,只能放在第一句

    # 声明变量
    DECLARE 变量名 类型 [DEFAULT];
    # 变量赋值
    SET 变量名 =;
    SELECT 字段名或表达式 INTO 变量名 FROM;
    # 查看变量
    SELECT 局部变量名;
    
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

e_nanxu

感恩每一份鼓励-相逢何必曾相识

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

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

打赏作者

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

抵扣说明:

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

余额充值