变量
系统变量
变量由系统提供,不是用户自定义,属于服务器层面
-
全局变量
-
查看所有全局变量
-
SHOW GLOBAL VARIABLES;
-
-
作用域:服务器每次启动将会为所有全局变量赋初始值,针对所有的会话(连接)有效,但不能跨重启
-
-
会话变量
-
查看所有会话变量
-
SHOW SESSION VARIABLES;
-
-
-
查看满足条件的系统变量
-
SHOW GLOBAL|SESSION VARIABLES LIKE '%关键字%'
-
-
查看指定的某个系统变量的值
-
SELECT @@global|session.系统变量名;
-
-
为系统变量赋值
-
SET global|session 系统变量名=值;
-
SET @@global|session.系统变量名=值;
-
-
注意
- 全局级别需要家global,会话级别需要加session,不写默认为session
自定义变量
-
说明:变量是用户自定义的,不是由系统赋值的
-
用户变量
-
作用域:针对于当前会话(连接)有效,同于会话变量的作用域
-
声明并初始化
-
SET 用户变量名=值; SET 用户变量名:=值; SELECT @用户变量名:=值;
-
-
赋值
-
通过SET或者SELECT,同上
-
SELECT 字段 INTO 变量名 FROM 表;
-
-
查看
-
SELECT @变量名;
-
-
使用步骤:
- 声明
- 赋值
- 使用(查看、比较、运算)
-
-
局部变量
-
作用域:仅仅在定义它的begin end中有效
-
应用在begin end中的第一句话
-
声明:
-
DECLARE 变量名 类型; DECLARE 变量名 类型 DEFAULT 值;
-
-
赋值
- set方式可以省略@符号
- select不可省略
-
使用
-
SELECT 局部变量名;
-
-