主题
MySQL 变量
系统变量
系统变量由 MySQL 定义,分为全局变量和会话变量。
sql
SHOW GLOBAL VARIABLES;
SHOW SESSION VARIABLES;
SHOW VARIABLES LIKE '%char%';查看指定变量:
sql
SELECT @@global.autocommit;
SELECT @@session.autocommit;
SELECT @@autocommit;修改变量:
sql
SET GLOBAL max_connections = 300;
SET SESSION autocommit = 0;全局变量影响新连接,通常不能跨重启。会话变量只影响当前连接。
用户变量
用户变量以 @ 开头,作用域是当前连接。
sql
SET @page = 1;
SET @page_size = 20;
SELECT @offset := (@page - 1) * @page_size;从查询结果赋值:
sql
SELECT COUNT(*) INTO @total FROM users;
SELECT @total;局部变量
局部变量只能在存储过程、函数或 BEGIN ... END 块中使用。
sql
DECLARE total INT DEFAULT 0;
SELECT COUNT(*) INTO total
FROM users;DECLARE 通常放在 BEGIN 后的开头位置。
