iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL详细讲解变量variables的用法
  • 590
分享到

MySQL详细讲解变量variables的用法

MySQLvariablesMySQL变量variables 2022-06-18 10:06:08 590人浏览 泡泡鱼
摘要

目录变量 variables1、系统变量1.1、查看系统变量1.2、修改系统变量2、会话变量3、局部变量4、变量作用域4.1、局部作用域4.2、会话作用域4.3、全局作用域变量 variables Mysql本质是一种编

变量 variables

Mysql本质是一种编程语言

1、系统变量

对所有用户客户端都有效

1.1、查看系统变量

1、方式一

show variables [like 'pattern'];

示例

mysql> show variables like 'autocommit';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit    | ON    |
+---------------+-------+

2、方式二:

使用select查询变量的数据值

select @@变量名;

示例

select @@autocommit;
+--------------+
| @@autocommit |
+--------------+
|            1 |
+--------------+

1.2、修改系统变量

1、局部修改(会话级别)

-- 只针对当前客户端当次连接有效
set 变量名 = 值;
-- eg:
set autocommit = 'off';
show variables like 'autocommit';

2、全局修改

-- 所有客户端,都有效
set global 变量名 = 值;
set @@global.变量名 = 值;
-- eg:
set global autocommit = 'off';

注意,全局修改之后,重启客户端生效

2、会话变量

也称为用户变量,设置的变量,只针对当前用户使用的客户端生效

-- 定义用户变量
set @变量名 = 值;
set @age = 23;

mysql中没有比较符号 == ,使用的是 =;
为了避免分不清是赋值还是比较,赋值使用:=

set @变量名 := 值;
set @name := 'Tom';

mysql允许将数据从表中取出存储到变量中,只能是一行数据

-- 1、赋值且查看赋值过程
select @变量1 := 字段1, @变量2 := 字段2 from 表 where 条件
select @name := name, @age := age from my_student limit 1;
+---------------+-------------+
| @name := name | @age := age |
+---------------+-------------+
| 刘备          |          18 |
+---------------+-------------+
--- 2、只赋值不看过程
select 字段1, 字段2 from 表 where 条件 into @变量1, @变量2;
select name, age from my_student limit 1 into @name, @age;

查看变量

select @变量名
mysql> select @name, @age;
+--------+------+
| @name  | @age |
+--------+------+
| 刘备   |   18 |
+--------+------+

3、局部变量

作用范围在begin到end语句块之间,在该语句块里设置的变量

  • declare语句用于定义局部变量
  • 局部变量 declare语句出现在begin到end语句块之间

声明语法

declare 变量名 数据类型 [属性];

4、变量作用域

变量能够使用的区域范围

4.1、局部作用域

declare 关键字声明 (结构体中使用:函数/存储过程/触发器)

declare关键字声明的变量没有任何符号修饰,就是普通字符串,如果再外部访问该变量,系统会自动认为是字段

4.2、会话作用域

用户定义的,使用@符号定义的变量,使用set关键字

会话作用域,当次连接有效只要再本连接中,任何地方都可以使用(可以在结构内容,也可以跨库)

会话变量可以再函数内部使用

set @name = '张三';
create function get_name() returns char(4)
return @name;
select get_name();
+------------+
| get_name() |
+------------+
| 张三       |
+------------+

会话变量可以跨库

use mydatabase2;
mysql> select @name;
+--------+
| @name  |
+--------+
| 张三   |
+--------+ 

4.3、全局作用域

所有的客户端,所有的连接都有效,需要使用全局符号来定义

set global 变量名 = 值;
set @@global.变量名 = 值;

通常,在sql编程的时候,不会使用自定义变量来控制全局,一般定义会话变量或者结构中使用局部变量来解决问题

到此这篇关于MySQL详细讲解变量variables的用法的文章就介绍到这了,更多相关MySQL variables内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL详细讲解变量variables的用法

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

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

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

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

下载Word文档
猜你喜欢
  • MySQL系统环境变量配置详细讲解
    首先,大部分的环境变量配置步骤都是相同的,这里我们来说说MySQL的环境变量 第一步:找到安装路径并复制         找到你的MySQL Server,我这里安装的是MySQL Server 8.0,安装在d盘,路径是D:\dataAp...
    99+
    2023-10-24
    mysql
  • Java超详细讲解类变量和类方法
    目录1.static静态变量2.类变量(静态变量的访问)3.类方法1.static静态变量 1.静态变量被同一个类的所有对象共享 2.static类变量在类加载的时候就生成使用 st...
    99+
    2024-04-02
  • MySql变量用法详解
    自我介绍 我是IT果果日记 一个普通的技术宅,定期分享技术文章,欢迎点赞、关注和转发,请多关照。 MySql变量主要分为系统变量、用户变量和局部变量,它们的区别是什么?分别有什么作用呢? 下面会一一给大家讲解一下,并结合...
    99+
    2023-09-10
    mysql sql Powered by 金山文档
  • mysql中my.cnf的详细讲解
    这篇文章主要讲解了“mysql中my.cnf的详细讲解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql中my.cnf的详细讲解”吧!#*** cli...
    99+
    2024-04-02
  • Mysql环境变量的配置(详细图解)
    一、安装mysql之后,在命令窗口显示出错,如下: 二、桌面找到此电脑图标,右击属性,如下: 三、高级系统设置进入后,点击环境变量,如下图: 四、系统变量下,点击新建,如下所示: 五、变量名和...
    99+
    2023-10-04
    mysql 数据库 database
  • Vue mergeProps用法详细讲解
    很多人不知道megreProps的用法,今天我们就来讲解下mergeProps的用法以及原理 用法 大家觉得下面哪种用法是正确的呢? 这样 style: mergeProps({ ...
    99+
    2022-11-13
    Vue mergeProps Vue mergeProps用法 Vue mergeProps原理
  • OB系统变量Variables及ODC管理会话功能详解
    目录参数和变量Session variables vs Global variables常用的OB系统变量 (Variables)ODC管理会话功能支持查看和修改会话属性小结参数和变...
    99+
    2022-12-16
    OB变量Variables ODC会话 OB Variables ODC会话
  • C语言详细讲解const的用法
    目录一、int const a / const int a二、const int(*p)/int const(*p)三、int*const p四、const用于函数的地址传递参数一、...
    99+
    2024-04-02
  • Mysql表的约束超详细讲解
    目录约束的概念空属性默认值列描述zerofill主键自增长唯一键外键约束的概念 约束:通过限制用户操作的方式,来达到维护数据本身安全,完整性的一套方案。 为什么要有约束? Mysql...
    99+
    2024-04-02
  • Java split方法详细讲解
    1. 问题描述 描述:在日常编写代码时,我们经常遇到需要将一串字符串中的数据进行分析摘取,从中获得分隔符外的数据,此时便不得不提split方法。 2. 方法介绍 分隔符可以是任意字符、符号、数字、字符串等。 2.1 split(String...
    99+
    2023-09-10
    java 开发语言
  • ThreadPoolExecutor中的submit()方法详细讲解
    目录submmit()参数解析submit()的返回值FutureFutureTask的get()的实现submit()使用案例在使用线程池的时候,发现除了execute()方法可以...
    99+
    2024-04-02
  • MySQL设置global变量和session变量的两种方法详解
    1、在MySQL中要修改全局(global)变量,有两种方法: 方法一,修改my.ini配置文件,如果要设置全局变量最简单的方式是在my.ini文件中直接写入变量配置,如下图所示。重启数据库服务就可以使全局...
    99+
    2024-04-02
  • mysql详细分析讲解子查询的使用
    出现在其他语句中的 select 语句,称为子查询或内查询;外部的查询语句,称为主查询或 外查询 .  -- 子查询 -- 查询的条件来自于另一查询的结果 SEL...
    99+
    2024-04-02
  • MySQL InnoDB事务与锁的详细讲解
    这篇文章主要介绍“MySQL InnoDB事务与锁的详细讲解”,在日常操作中,相信很多人在MySQL InnoDB事务与锁的详细讲解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • C++详细讲解常用math函数的用法
    目录1、fabs(double x)2、floor(double x)ceil(double x)3、pow(double x,double n)4、sqrt(double x)5、...
    99+
    2024-04-02
  • MySQL ClickHouse常用表引擎超详细讲解
    目录表引擎合并树家族MergeTree排序键主键分区数据生命周期其它设置ReplacingMergeTreeSummingMergeTree日志家族其它表引擎 表引擎作用: 数据的存储方式和位置 支持哪些查询以及如何支持...
    99+
    2024-04-02
  • AndroidSurfaceView与TextureView使用方法详细讲解
    目录SurfaceSurfaceViewTextureViewSurfaceTextureSurfaceView和TextureView的区别Surface 官方对Surface的解...
    99+
    2022-11-13
    Android SurfaceView与TextureView Android TextureView Android SurfaceView
  • Python OpenCV超详细讲解透视变换的实现
    目录准备工作场景描述透视变换准备工作 右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库,import numpy并且重...
    99+
    2024-04-02
  • C++BoostLockfree超详细讲解使用方法
    目录一、说明二、示例和代码Boost.Lockfree 一、说明 Boost.Lockfree 提供线程安全和无锁容器。可以从多个线程访问此库中的容器,而无需同步访问。 在 1.56...
    99+
    2022-11-21
    C++ Boost Lockfree C++ Lockfree方案
  • Java超详细讲解hashCode方法
    目录1、介绍一下hashCode方法2、为什么需要hashCode方法?3、hashCode(),equals()两种方法是什么关系?4、为什么重写 equals 方法必须重...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作