一、系统变量
分类:全局变量:服务器每次启动将为所有的全局变量赋初始值,针对于所有的会话(连接)有效
会话变量:仅仅针对当前会话(连接)有效
介绍:变量由系统提供,不是用户定义,属于服务器层面
使用语法:1.查看所有的全局变量 (全局+会话变量)
SHOW GLOBAL VARIABLES;
SHOW SESSION VARIABLES;
2.查看满足条件的部分系统变量
例如:查看名称带有aaa的系统变量
SHOW GLOBAL VARIABLES link '%aaa%';
SHOW SESSION VARIABLES link '%aaa%';;
3.查看指定的某个系统变量的值
SELECT @@global.系统变量名
SELECT @@session.系统变量名
4.为某个系统变量赋值
SET @@GLOBAL.系统变量名 = 值;
SET @@SESSION.系统变量名 = 值;
注意:如果是全局变量则需要加global,如果是会话则可以省略session,即默认session。
二、自定义变量
概念:由用户自定义的变量
分类:用户变量:针对于当前会话(连接)有效,与会话变量作用域相同。
局部变量:仅仅在定义它的begin end中有效
使用步骤: 1.声明变量
2.给变量赋值
3.使用变量
a.用户变量的使用:
①声明并初始化,也可以通过这种方式再次给变量赋值
方式一:SET @用户变量名 = 值;
方式二:SELECT INTO 变量名 FROM 表 (从表中查询出来一个值赋值给变量)
②查看用户变量的值
SELECT @变量名;
b.局部变量的使用:
①声明
方式一:DECLARE 变量名 类型
方式二:DECLARE 变量名 类型 DEFAULT 值
②赋值
SET 局部变量名 = 值;
SELECT INTO 局部变量吗 FROM 表;
例子:分别用用户变量和局部变量求和并打印。
1.用户变量:
2.局部变量