Mysql临时变量的具体使用
前言
临时变量主要分为用户变量和会话变量
1. 用户变量
用户变量是特定于会话的,在单个会话内可以在多个语句中共享
- 以
@
符号开头 - 在 SQL 语句中使用 SET 语句或直接在查询中赋值
声明和赋值
SET @var_name = value; -- 或者 SELECT @var_name := value;
使用
SELECT @var_name;
注意事项如下:
- 在声明时不需要指定数据类型,MySQL 会自动根据赋值的内容推断类型
- 在 SQL 语句中区分大小写
- 声明用户变量时没有赋值,它们的值将为 NULL
- 在查询中,用户变量会根据查询的执行顺序进行赋值和计算,容易引起不期望的结果,需要小心使用
简单赋值:
在查询中使用用户变量:
-- 创建示例表 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;
截图如下:
2. 会话变量
会话变量也称为系统变量,整个会话期间保持有效
不过可以是全局的或会话特定的
设置会话变量:SET SESSION var_name = value;
设置全局变量:SET GLOBAL var_name = value;
查看会话变量:SHOW VARIABLES LIKE 'var_name';
注意事项:
- 会话变量仅在当前会话中有效,而全局变量在所有会话中有效,但必须有足够的权限来设置全局变量
- 设置会话变量时,应该确保其值是合理的,以避免对数据库性能产生负面影响
- 一些会话变量的更改可能会立即生效,而另一些可能需要重新启动服务器才能生效
示例 1:设置并查看会话变量
-- 设置会话变量 SET SESSION sql_mode = 'STRICT_TRANS_TABLES'; -- 查看会话变量 SHOW VARIABLES LIKE 'sql_mode';
截图如下:
示例 2:设置并查看全局变量
-- 设置全局变量 SET GLOBAL max_connections = 200; -- 查看全局变量 SHOW VARIABLES LIKE 'max_connections';
截图如下:
到此这篇关于Mysql临时变量的具体使用的文章就介绍到这了,更多相关Mysql临时变量内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
MySQL SHOW PROCESSLIST协助故障诊断全过程
这篇文章主要给大家介绍了关于MySQL SHOW PROCESSLIST协助故障诊断的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧2019-02-02mysql视图之确保视图的一致性(with check option)操作详解
这篇文章主要介绍了mysql视图之确保视图的一致性(with check option)操作,结合实例形式详细分析了视图的一致性操作原理、实现技巧与操作注意事项,需要的朋友可以参考下2019-12-12master and slave have equal MySQL server UUIDs 解决方法
使用rsync配置了大量mysql,省去了大量编译和配置的时间,随逐个修改master和slave服务器的my.cnf,后,发现数据不能同步2013-07-07MySql 8.0.11-Winxp64(免安装版)配置教程
这篇文章主要介绍了MySql 8.0.11-Winxp64(免安装版)配置教程,非常不错,具有参考借鉴价值,需要的朋友参考下吧2018-05-05
最新评论