iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql中如何使用变量
  • 158
分享到

mysql中如何使用变量

2024-04-02 19:04:59 158人浏览 泡泡鱼
摘要

今天就跟大家聊聊有关Mysql中如何使用变量,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 set语句的学习: 使用select定义用

今天就跟大家聊聊有关Mysql中如何使用变量,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

set语句的学习

使用select定义用户变量的实践

将如下语句改成select的形式:

 set @VAR=(select sum(amount) from penalties);

我的修改:

 select @VAR:=(select sum(amount) from penalties);

我这样改,虽然是可以的。但是,对比的书中的答案,发现这样的方式太蹩脚了。说明没有很好地理解select定义变量的本质。

在select中,发现有一个用户变量,如果没有定义,那么就会初始化。

select子句原来的方式根本不受到影响。只是增加了用户变量。所以,还是按照原来的方式使用select子句。那么像:select sum(amount) from penalties。增加变量就成

了:select  @VAR:=sum(amount) from penalties。

将sum(amount)的结果赋给变量@VAR:。变量前面有select,那用户么就是显示该变量了。

笔记部分:变量的术语分类:

1.用户变量:以"@"开始,形式为"@变量名"

用户变量跟mysql客户端是绑定的,设置的变量,只对当前用户使用的客户端生效

2.全局变量:定义时,以如下两种形式出现,set GLOBAL 变量名  或者  set @@global.变量名

对所有客户端生效。只有具有super权限才可以设置全局变量

3.会话变量:只对连接的客户端有效。

4.局部变量:作用范围在begin到end语句块之间。在该语句块里设置的变量

declare语句专门用于定义局部变量。set语句是设置不同类型的变量,包括会话变量和全局变量

通俗理解术语之间的区别:

用户定义的变量就叫用户变量。这样理解的话,会话变量和全局变量都可以是用户定义的变量。只是他们是对当前客户端生效还是对所有客户端生效的区别了。所以,用户变量包括了会话变量和全局变量

局部变量与用户变量的区分在于两点:1.用户变量是以"@"开头的。局部变量没有这个符号。2.定义变量不同。用户变量使用set语句,局部变量使用declare语句定义3.作用范围。局部变量只在begin-end语句块之间有效。在begin-end语句块运行完之后,局部变量就消失了。

所以,最后它们之间的层次关系是:变量包括局部变量和用户变量。用户变量包括会话变量和全局变量。

使用备忘,set @var 若没有指定GLOBAL 或SESSioN ,那么默认将会定义用户变量

两种方式定义用户变量:

1."=",如set @a =3,@a:=5

2.":="。select常常这样使用

总结:使用select 和set设置变量的区别,set可以使用以上两种形式设置变量。而select只能使用":="的形式设置变量

实践积累:用户变量在mysql客户端退出后,会自动消失。之后我打开客户端,使用"select @a;" 显示变了的值为null。说明,未定义的变量初始化是null

实际中的问题

设置常量对group_concat()的配置影响:

SET @@GROUP_CONCAT_MAX_LEN=4

手册中提到设置的语法是这样的:

SET [SESSION | GLOBAL] group_concat_max_len = val;

以下两种形式都能达到达到同样的效果,但是有什么区别?

SET @@global.GROUP_CONCAT_MAX_LEN=4;

global可以省略,那么就变成了:SET @@GROUP_CONCAT_MAX_LEN=4;

2011.2.25

之前的理解不怎么准确。现在对加深理解后的地方进行总结。

mysql中变量的层次关系是:大体包括用户变量和系统变量。系统变量包括系统会话变量和系统全局变量。

我是这样理解相互之间的区别:

因为用户变量就是用户定义的变量,系统变量就是mysql定义和维护的变量。所以,用户变量与系统变量的区别在于,是谁在管理这些变量。mysql一启动的时候就会读取系统变量(这样做目的是可以确定mysql的以何种机制或模式运行)。 系统会话变量与用户变量都是在当前客户端退出后消失。他们之间的区别可以这样理解,虽然常常看到"set @@varible"的形式去改变系统变量的值,但是并不涉及到定义系统变量。用户变量是可以自己定义(初始化)。系统变量按照只是在改变值。

局部变量只在begin-end语句块中定义并有效。执行到该语句块之后就消失了。定义的方式有明显的特点,使用declare语句。

为什么看到使用系统变量以"@@变量名"和"变量名"的形式出现,怎么理解两者形式的区别?

使用系统变量理论上是可以使用两种形式:1.前面带有符号"@@" 2.符号省略。比如我会看的如下形式:CURRENT_USER。但是,约定系统变量要使用"@@变量名"的形式,就是在前面加上符号"@@"。

看完上述内容,你们对mysql中如何使用变量有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网数据库频道,感谢大家的支持。

您可能感兴趣的文档:

--结束END--

本文标题: mysql中如何使用变量

本文链接: https://www.lsjlt.com/news/58477.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql中如何使用变量
    今天就跟大家聊聊有关mysql中如何使用变量,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 set语句的学习: 使用select定义用...
    99+
    2024-04-02
  • MySQL中如何使用中间变量
    MySQL中如何使用中间变量,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。SET @countries=(SELECT&...
    99+
    2024-04-02
  • 如何在PHP中使用常量和变量可变变量
    如何在PHP中使用常量和变量可变变量?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。关于可变变量:以声明的变量前,再加上变量符;运用代码举例说明,如下:<php$china...
    99+
    2023-06-15
  • PHP中如何使用变量
    本篇文章给大家分享的是有关PHP中如何使用变量,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。PHP变量1.定义常量define("CONSTANT", &q...
    99+
    2023-06-17
  • sql中如何使用变量
    sql 变量用于存储临时数据,通过 declare 语句声明,set 语句赋值,并使用 @ 字符引用。变量的作用域仅限于其声明的块或过程,值在每次使用时重新计算。 SQL 中使用变量 ...
    99+
    2024-05-02
    作用域 代码可读性
  • Linux中如何使用Shell变量
    Linux中如何使用Shell变量,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、本地变量的使用       ...
    99+
    2023-06-17
  • vba中range变量如何使用
    在VBA中,可以使用Range对象来引用单元格、行或列的范围。要创建一个Range变量并使用它,可以按照以下步骤操作:1. 声明一个...
    99+
    2023-09-29
    VBA
  • MySQL存储过程中如何使用局部变量?
    局部变量是在存储过程中声明的变量。它们仅在声明它们的 BEGIN…END 块内有效,并且可以具有任何 SQL 数据类型。为了演示它,我们正在创建以下过程 -mysql> DELIMITER // ; mysql> Create ...
    99+
    2023-10-22
  • 如何在PHP中使用变量
    PHP是一种非常流行的Web开发语言,它允许开发人员在服务器端创建动态Web应用程序。在PHP中,变量是一种基本的数据结构,用于存储值和数据。本文将介绍如何在PHP中使用变量。变量的基本语法在PHP中声明变量的语法非常简单。变量名以美元符号...
    99+
    2023-05-20
    变量作用域 变量声明 变量类型
  • C#中如何使用 const变量
    C#中如何使用 const变量,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。static readonly与C# const变量,作用是一样的,无论访问修饰符是不是public...
    99+
    2023-06-17
  • 如何在CSS中使用 var()变量
    今天就跟大家聊聊有关如何在CSS中使用 var()变量,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。定义和使用CSS变量与任何其他CSS定义一样,变量遵循相同的范围和继承规则。使用它...
    99+
    2023-06-08
  • Python中如何使用中文变量名
    这期内容当中小编将会给大家带来有关Python中如何使用中文变量名,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Python3.x 已经支持全面 Unicode 编码,比如支持使用中文作为变量名。>...
    99+
    2023-06-15
  • Golang中如何使用全局变量
    本篇文章给大家分享的是有关Golang中如何使用全局变量,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。我们可以基于匿名结构类型创建一个变量集合...
    99+
    2024-04-02
  • nodejs中如何使用全局变量
    nodejs中如何使用全局变量,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.global类似于客户端javascript运...
    99+
    2024-04-02
  • C++中如何使用变量作用域
    C++中如何使用变量作用域,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。C++变量作用域的使用一定要注意,一般是以一对花括号范围作为一个作用域,例如一下一段函数代码:Voi...
    99+
    2023-06-17
  • Python中如何使用函数变量
    这篇文章给大家介绍Python中如何使用函数变量,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Python函数变量如何工作在函数中,我们***次使用x的值的时候,Python使用函数声明的形参的值。接下来,我们把值2赋...
    99+
    2023-06-17
  • C#中如何使用静态变量
    C#中如何使用静态变量,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。C#静态变量的使用实例:在类库中定义了一个静态常量,如下:public const...
    99+
    2023-06-17
  • VB.NET如何使用变量
    这篇文章主要介绍了VB.NET如何使用变量,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。VB.NET变量用来存储程序中需要处理的数据,用户可以把变量看作是在内存中存储数据的盒...
    99+
    2023-06-17
  • 如何在css中如何定义使用变量
    今天就跟大家聊聊有关如何在css中如何定义使用变量,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。CSS中原生的变量定义语法是:--*,变量使用语法是:var(--*)  ;...
    99+
    2023-06-15
  • MySQL使用变量如何实现各种排序
    小编给大家分享一下MySQL使用变量如何实现各种排序,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!--下面我演示下MySQL中的排序列的实现 --测试数据 CREATE TABLE tb ( ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作