前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >MySQL变量

MySQL变量

作者头像
Yuyy
发布于 2022-06-28 12:57:45
发布于 2022-06-28 12:57:45
2K0
举报

本文最后更新于 779 天前,其中的信息可能已经有所发展或是发生改变。

一、系统变量

  • 说明:变量由系统提供的,不用自定义
  • 语法:
    1. 查看系统变量 show 【global|session 】variables like ''; 如果没有显式声明global还是session,则默认是session
    2. 查看指定的系统变量的值 select @@【global|session】变量名;如果没有显式声明global还是session,则默认是session
    3. 为系统变量赋值
      • 方式一: set 【global|session 】 变量名=值;如果没有显式声明global还是session,则默认是session
      • 方式二: set @@global.变量名=值; set @@变量名=值;
  • 全局变量 服务器层面上的,必须拥有super权限才能为系统变量赋值,作用域为整个服务器,也就是针对于所有连接(会话)有效,但不能跨重启
    • 例子
      • 查看所有全局变量 SHOW GLOBAL VARIABLES;
      • 查看满足条件的部分系统变量 SHOW GLOBAL VARIABLES LIKE '%char%';
      • 查看指定的系统变量的值 SELECT @@global.autocommit;
      • 为某个系统变量赋值 SET @@global.autocommit=0; SET GLOBAL autocommit=0;
  • 会话变量 服务器为每一个连接的客户端都提供了系统变量,作用域为当前的连接(会话)
    • 例子
      • 查看所有会话变量 SHOW SESSION VARIABLES;
      • 查看满足条件的部分会话变量 SHOW SESSION VARIABLES LIKE '%char%';
      • 查看指定的会话变量的值 SELECT @@autocommit; SELECT @@session.tx_isolation;
      • 为某个会话变量赋值 SET @@session.tx_isolation='read-uncommitted'; SET SESSION tx_isolation='read-committed';

二、自定义变量

  1. 用户变量
    • 作用域:针对于当前连接(会话)生效
    • 位置:begin end里面,也可以放在外面
    • 使用:
      • 声明并赋值: set @变量名=值; set @变量名:=值; select @变量名:=值;
      • 更新值
        • 方式一: set @变量名=值; set @变量名:=值; select @变量名:=值;
        • 方式二: select xx into @变量名 from 表;
      • 使用 select @变量名;
  2. 局部变量
    • 作用域:仅仅在定义它的begin end中有效
    • 位置:只能放在begin end中,而且只能放在第一句
    • 使用:
      • 声明 declare 变量名 类型 【default 值】;
      • 赋值或更新
        • 方式一: set 变量名=值; set 变量名:=值; select @变量名:=值;
        • 方式二: select xx into 变量名 from 表;
      • 使用 select 变量名;
  3. 二者的区别:

变量类型

作用域

定义位置

语法

用户变量

当前会话

会话的任何地方

加@符号,不用指定类型

局部变量

定义它的BEGIN END中

BEGIN END的第一句话

一般不用加@,需要指定类型

Post Views: 357

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-5-10 1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Mysql系列第十六讲 变量详解
上面使用中介绍的,全局变量需要添加global关键字,会话变量需要添加session关键字,如果不写,默认为session级别。
易兮科技
2020/10/09
6470
玩转Mysql系列 - 第16篇:变量详解
Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能。
路人甲Java
2019/10/09
6400
MySQL高级篇-容易忽略的核心内容变量
 在MySQL数据库的存储过程和函数中,可以使用变量来存储查询或计算的中间结果数据,或者输出最终的结果数据。
用户4919348
2022/04/13
8250
MySQL高级篇-容易忽略的核心内容变量
【说站】mysql中系统变量的两种类型
以上就是mysql中系统变量的两种类型,希望对大家有所帮助。更多mysql学习指路:MySQL
很酷的站长
2022/11/23
6390
MySQL(变量)
全局变量用global来修饰,而会话变量用session,通常session可以省略。
全栈开发日记
2022/05/12
2K0
MySQL数据库,详解变量使用(一)
上⾯使⽤中介绍的,全局变量需要添加global关键字,会话变量需要添加session
用户1289394
2021/11/16
7920
第38次文章:数据库结尾
本周介绍一下数据库中的最后一种语言,TCL事务控制语言。以及存储过程和函数,还有最后的流程过程结构。顺利结束数据库的基础内容。同时祝各位同学国庆快乐呀!
鹏-程-万-里
2019/09/29
9390
第38次文章:数据库结尾
MySQL数据库,详解变量使用(二)
set @@session.tx_isolation='read-uncommitted';set @@tx_isolation='read-committed';
用户1289394
2021/11/16
8530
【重学 MySQL】七十八、深度解析! 变量的奥秘与操作技巧
在MySQL数据库中,变量是存储和操作数据的重要工具。它们可以用于存储查询或计算的中间结果,或者输出最终的结果数据。变量的使用可以简化复杂的SQL查询和操作,提高数据库的性能和灵活性。
用户11332765
2024/10/28
1310
【重学 MySQL】七十八、深度解析! 变量的奥秘与操作技巧
第16章_变量、流程控制与游标
在 MySQL 数据库的存储过程和函数中,可以使用变量来存储查询或计算的中间结果数据,或者输出最终的结果数据。
程序员Leo
2023/08/07
4120
第16章_变量、流程控制与游标
10-变量
系统变量 # 变量 /* 系统变量 全局变量 会话变量 自定义变量 用户变量 局部变量 */ # 一。系统变量 # 变量由系统提供,不由用户定义,属于服务器层面 /* 使用语法:(不写global,session默认使用会话变量) 1. 查看所有系统变量 SHOW GLOBAL VARIABLES; # 查看全局变量 SHOW 【SESSION】 VARIABLES; # 查看会话变量 2. 查看满足条件的部分系统变量 SHOW GLOBAL VARIABLES L
Ywrby
2022/10/27
1560
MySQL数据库原理学习(二十六)
系统变量 是MySQL服务器提供,不是用户定义的,属于服务器层面。分为全局变量(GLOBAL)、会话变量(SESSION)。
用户1289394
2023/01/05
1460
MySQL中变量的定义和变量的赋值使用
说明:现在市面上定义变量的教程和书籍基本都放在存储过程上说明,但是存储过程上变量只能作用于begin…end块中,而普通的变量定义和使用都说的比较少,针对此类问题只能在官方文档中才能找到讲解。
全栈程序员站长
2022/06/30
9.5K0
⑩⑤【DB】详解MySQL存储过程:变量、游标、存储函数、循环,判断语句、参数传递..
注意:用户定义的变量无需对其进行声明或初始化,不声明或初始化获取到的值为NULL。
.29.
2023/11/20
2.3K0
⑩⑤【DB】详解MySQL存储过程:变量、游标、存储函数、循环,判断语句、参数传递..
MySQL TCL 事务控制
MySQL 中并非所有的数据库存储引擎都支持事务操作,比如 MyISAM 就不支持。所以,使用事务处理的时候一定要确定所操作的表示是否支持事务处理,可以通过查看建表语句来查看有没有指定事务类型的存储引擎。当然,事务处理是为了保障表数据原子性、一致性、隔离性、持久性。这些都需要消耗系统资源,请谨慎选择。
恋喵大鲤鱼
2023/10/12
2230
MySQL 进阶之存储过程/存储函数/触发器
上面给大家演示了存储过程中的基本语法,现在只是在存储过程中定义了一条简单的select 语句 ,并没有任何逻辑。
叫我阿杰好了
2022/11/07
2.3K0
MySQL 进阶之存储过程/存储函数/触发器
【MySQL-17】存储过程-[变量篇]详解-(系统变量&用户定义变量&局部变量)
YY的秘密代码小屋
2024/07/26
3140
【MySQL-17】存储过程-[变量篇]详解-(系统变量&用户定义变量&局部变量)
MySQL(七)
针对”所有”客户端”所有”时刻。 基本语法: set global {变量名} = {新变量值}; 或者 set @@global.{变量名} = {新变量值};
1ess
2021/11/01
5340
MySQL基础-变量/流程控制/游标
在MySQL数据库的存储过程和函数中,可以使用变量来存储查询或计算的中间结果数据,或者输出最终的结果数据
用户9645905
2023/04/01
2.3K0
MySQL基础-变量/流程控制/游标
MySQL 系统变量(system variables)
    MySQL系统变量(system variables)实际上是一些系统参数,用于初始化或设定数据库对系统资源的占用,文件存放位置等等。这些个系统变量可以分为全局以及会话级别层面来修改,有些也可以进行动态修改。本文主要介绍了系统变量的一些概念以及如何设置查看这些系统变量。
Leshami
2018/08/13
1.9K0
推荐阅读
相关推荐
Mysql系列第十六讲 变量详解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档