MySQL变量分为系统变量和用户定义变量。系统变量包括全局变量(如SET GLOBAL max_connections=500)和会话变量(如SET SESSION sql_mode),用于控制服务器行为;用户定义变量以@开头(如@name='张三'),在会话中临时存储数据;局部变量在存储过程等内部声明使用(如DECLARE var_name INT DEFAULT 0),作用域限于BEGIN...END块内。不同变量类型适用于配置管理、数据传递与程序逻辑场景。

MySQL 中的变量主要分为两大类:系统变量和用户定义变量。它们在存储和使用方式上有所不同,适用于不同的场景。
系统变量(System Variables)
系统变量是 MySQL 内置的变量,用于控制服务器运行行为或查看运行状态。可分为全局变量和会话变量。
• 全局变量:影响整个 MySQL 服务器的运行,所有会话共享。通过SET GLOBAL 或 SET @@global. 修改。示例:
SET GLOBAL max_connections = 500;查看:
SHOW GLOBAL VARIABLES LIKE 'max_connections';• 会话变量:仅对当前客户端连接有效,每个会话独立。通过
SET SESSION 或 SET @@session. 设置。示例:
SET SESSION sql_mode = 'STRICT_TRANS_TABLES';查看:
SHOW SESSION VARIABLES LIKE 'sql_mode';
用户定义变量(User-Defined Variables)
由用户在会话中自定义的变量,以 @ 开头,不需要提前声明,赋值后即可使用,仅在当前会话中有效。
所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。 数组应用&二维数组目录 1. 数组的简单应用2. 数组排序3. 数组查找4. 数组的使用思想5. 查表法6. 二维数组7. 数组综合
SET @name = '张三'; 或 SELECT @age := 25;• 使用:
SELECT @name;• 可用于 SQL 语句中传递数据,如在多个查询间暂存结果或实现行号模拟。
局部变量(Local Variables)
局部变量只能在存储过程、函数或触发器内部使用,必须先声明再使用。
• 声明语法:DECLARE var_name INT DEFAULT 0;• 赋值方式:
SET var_name = 10; 或 SELECT column INTO var_name FROM table WHERE ...;• 作用范围仅限于其所在的复合语句(BEGIN...END)内。
基本上就这些。根据使用场景选择合适的变量类型:系统变量管理配置,用户变量临时传值,局部变量用于程序逻辑。理解它们的作用域和生命周期很重要。









