MySQL函数:修订间差异

来自牛奶河Wiki
跳到导航 跳到搜索
(创建页面,内容为“=== 变量 === ==== 用户定义的变量 ==== 是一种以@符号为前缀的变量类型。 ===== 定义 ===== 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 子句,变量…”)
 
无编辑摘要
第5行: 第5行:


===== 定义 =====
===== 定义 =====
SET @var_name = value;
SET @var_name = value;
 
- OR -
- OR -
SELECT @var_name := value;
 
- SQL -
SELECT @var_name := value;
SELECT @age_max:= MAX(age) FROM students;
 
- SQL -
 
SELECT @age_max:= MAX(age) FROM students;


===== 使用 =====
===== 使用 =====
SELECT @var_name
SELECT @var_name
 
SELECT * FROM students WHERE age = @maxage;
SELECT * FROM students WHERE age = @maxage;
 
未定义变量输出NULL
未定义变量输出NULL


==== 局部变量 ====
==== 局部变量 ====
局部变量是强类型变量,作用域在声明它的存储过程块中。无 DEFAULT 子句,变量将被赋予初始值 NULL。
局部变量是强类型变量,作用域在声明它的存储过程块中。无 DEFAULT 子句,变量将被赋予初始值 NULL。
 
DECLARE i, j INT DEFAULT 0;
DECLARE i, j INT DEFAULT 0;


==== 系统变量 ====
==== 系统变量 ====
第31行: 第24行:


MySQL服务器提供了许多系统变量,如GLOBAL、SESSION或MIX类型。全局变量在服务器的整个生命周期中可见,而会话变量仅在特定会话中保持活动状态。
MySQL服务器提供了许多系统变量,如GLOBAL、SESSION或MIX类型。全局变量在服务器的整个生命周期中可见,而会话变量仅在特定会话中保持活动状态。
 
SELECT @@key_buffer_size;
SELECT @@key_buffer_size;


=== 函数 ===
=== 函数 ===

2023年11月10日 (五) 15:23的版本

变量

用户定义的变量

是一种以@符号为前缀的变量类型。

定义
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;

函数

存储过程