在 MySQL 数据库的存储过程和函数中,可以使用变量来存储查询或计算的中间结果数据,或者输出最终的结果数据,就称为变量
在 MySQL 数据库中,变量分为系统变量以及用户自定义变量
目录
系统变量的分类
系统变量分为全局系统变量(需要添加 global 关键字)以及会话系统变量(需要添加 session 关键字),有时也把全局系统变量称为全局变量,有时也会把会话系统变量称为 local 变量。如果不写,默认会话级别。静态变量(在 MySQL 服务实例运行期间它们的值不能使用 set 动态修改)属于特殊的全局系统变量
查看系统变量
查看所有或部分系统变量
查看所有全局变量
SHOW GLOBAL VARIABLES;
查看所有会话变量
SHOW SESSION VARIABLES;
#或者
SHOW VARIABLES;
查看满足条件的部分系统变量
SHOW GLOBAL VARIABLES LIKE '%标识符%';
查看满足条件的部分会话变量
SHOW SESSION VARIABLES LIKE '%标识符%';
查看指定系统变量
作为 MySQL 编码规范,MySQL 中的系统变量以两个 "@" 开头,其中 "@@global" 仅用于标记全局系统变量,"@@session" 仅用于标记会话系统变量,"@@" 首先标记会话系统变量,如果会话系统变量不存在,则标记全局系统变量
查看指定的系统变量的值
SELECT @@global.变量名;
查看指定的会话变量的值
SELECT @@session.变量名;
#或者
SELECT @@变量名;
修改系统变量的值
有些时候,数据库管理员需要修改系统变量的默认值,以便修改当前会话或者 MySQL 服务实例的属性、特征
注:修改针对于当前的数据库实例是有效的,一旦重启 mysql 服务,就失效了
方式一
SET @@global.变量名=变量值;
SET @@session.变量名=变量值;
方式二:
SET GLOBAL 变量名=变量值;
SET SESSION 变量名=变量值;