MySQL函数:修订间差异
跳到导航
跳到搜索
无编辑摘要 |
(→定义) |
||
第6行: | 第6行: | ||
===== 定义 ===== | ===== 定义 ===== | ||
SET @var_name = value; | SET @var_name = value; | ||
- OR - | ''<small>- OR -</small>'' | ||
SELECT @var_name := value; | SELECT @var_name := value; | ||
- SQL - | ''<small>- SQL -</small>'' | ||
SELECT @age_max:= MAX(age) FROM students; | SELECT @age_max:= MAX(age) FROM students; | ||
2023年11月10日 (五) 15:24的版本
变量
用户定义的变量
是一种以@符号为前缀的变量类型。
定义
SET @var_name = value; - OR - SELECT @var_name := value; - SQL - SELECT @age_max:= MAX(age) FROM students;
使用
SELECT @var_name SELECT * FROM students WHERE age = @maxage;
未定义变量输出NULL
局部变量
局部变量是强类型变量,作用域在声明它的存储过程块中。无 DEFAULT 子句,变量将被赋予初始值 NULL。
DECLARE i, j INT DEFAULT 0;
系统变量
MySQL 包含各种配置其操作的系统变量,每个系统变量都有一个默认值。我们可以通过在运行时使用 SET 语句动态地更改某些系统变量,使得在不停止和重新启动服务器的情况下修改系统变量。
MySQL服务器提供了许多系统变量,如GLOBAL、SESSION或MIX类型。全局变量在服务器的整个生命周期中可见,而会话变量仅在特定会话中保持活动状态。
SELECT @@key_buffer_size;