【MySQL】系统变量和自定义变量

一、系统变量

分类:全局变量:服务器每次启动将为所有的全局变量赋初始值,针对于所有的会话(连接)有效

           会话变量:仅仅针对当前会话(连接)有效

介绍:变量由系统提供,不是用户定义,属于服务器层面

使用语法: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.局部变量

猜你喜欢

转载自blog.csdn.net/weixin_41963657/article/details/89435674