Mysql临时变量的具体使用!

  • A+
所属分类:SQL技巧

Mysql临时变量的具体使用!

本文主要介绍了Mysql临时变量的具体使用,临时变量有分为用户变量和会话变量,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

前言

临时变量主要分为用户变量和会话变量

1. 用户变量

用户变量是特定于会话的,在单个会话内可以在多个语句中共享

  • 以 @ 符号开头
  • 在 SQL 语句中使用 SET 语句或直接在查询中赋值

声明和赋值

1
2
3
SET @var_name = value;
-- 或者
SELECT @var_name := value;

使用

1
SELECT @var_name;

注意事项如下:

  • 在声明时不需要指定数据类型,MySQL 会自动根据赋值的内容推断类型
  • 在 SQL 语句中区分大小写
  • 声明用户变量时没有赋值,它们的值将为 NULL
  • 在查询中,用户变量会根据查询的执行顺序进行赋值和计算,容易引起不期望的结果,需要小心使用

简单赋值:

Mysql临时变量的具体使用!

在查询中使用用户变量:

1
2
3
4
5
6
7
8
9
10
11
12
13
-- 创建示例表
CREATE TABLE sales (
id INT AUTO_INCREMENT PRIMARY KEY,
amount DECIMAL(10, 2)
);
-- 插入示例数据
INSERT INTO sales (amount) VALUES (100.00), (200.00), (300.00);
-- 使用用户变量计算累计总和
SET @total = 0;
SELECT id, amount, @total := @total + amount AS cumulative_total
FROM sales;

截图如下:

Mysql临时变量的具体使用!

2. 会话变量

会话变量也称为系统变量,整个会话期间保持有效

不过可以是全局的或会话特定的

设置会话变量SET SESSION var_name = value;设置全局变量SET GLOBAL var_name = value;查看会话变量SHOW VARIABLES LIKE 'var_name';

注意事项:

  • 会话变量仅在当前会话中有效,而全局变量在所有会话中有效,但必须有足够的权限来设置全局变量
  • 设置会话变量时,应该确保其值是合理的,以避免对数据库性能产生负面影响
  • 一些会话变量的更改可能会立即生效,而另一些可能需要重新启动服务器才能生效

示例 1:设置并查看会话变量

1
2
3
4
5
-- 设置会话变量
SET SESSION sql_mode = 'STRICT_TRANS_TABLES';
-- 查看会话变量
SHOW VARIABLES LIKE 'sql_mode';

截图如下:

Mysql临时变量的具体使用!

示例 2:设置并查看全局变量

1
2
3
4
5
-- 设置全局变量
SET GLOBAL max_connections = 200;
-- 查看全局变量
SHOW VARIABLES LIKE 'max_connections';

截图如下:

Mysql临时变量的具体使用!

到此这篇关于Mysql临时变量的具体使用的文章就介绍到这了。

 

学习资料见知识星球。

以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。

快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利​​​​!

更多技巧, www.excelbook.cn

欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;

Mysql临时变量的具体使用!

你将获得:

1、价值上万元的专业的PPT报告模板。

2、专业案例分析和解读笔记。

3、实用的Excel、Word、PPT技巧。

4、VIP讨论群,共享资源。

5、优惠的会员商品。

6、一次付费只需99元,即可下载本站文章涉及的文件和软件。

  • 我的微信
  • weinxin
  • 我的知识星球
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: