21.变量

(一)系统变量

系统变量由系统提高,不是用户定义,属于服务器层面。

系统变量分为全局变量会话变量

1.查看所有的全局/会话变量

show global/session variables;

2.查看满足条件的部分全局/会话变量

show global/session variables like '条件';

3.查看指定的某个全局/会话变量的值

select @@global/session.系统变量名;//默认会话变量

4.为某个全局/会话变量赋值

方式一:

set global/session 系统变量名=值;

方式二:

set @@global/session.系统变量名=值;

注意:

1.如果是全局级别,需要加global,如果是会话级别,需要加session,如果不写,则默认session。

2.服务器每次启动将为所有的全局变量赋初始值,全局变量针对于所有的会话/连接有效,但不能跨重启。

3.会话变量仅仅针对于当前会话(连接)有效。

(二)自定义变量

自定义变量是用户自定义的,不是由系统定义的。

1.用户变量

用户变量针对于当前会话(连接)有效,同于会话变量的作用域。

应用在任何地方,也就是begin end里面或begin end 外面。

1)声明并初始化用户变量

set @用户变量名=值;

set @用户变量名:=值;

select @用户变量名:=值;

2)赋值用户变量

set @用户变量名;

set @用户变量名;

select @用户变量名;

select 字段 into 用户变量名 from 表;

3)查看用户变量的值

select @用户变量名;

2.局部变量

局部变量仅仅在定义它的begin and 中有效。

应用在begin end 中的第一句话。

1)声明局部变量

declare 变量名 类型;

declare 变量名 类型 default 值;//声明并赋值

2)赋值局部变量

set 局部变量名=值;

set 局部变量名:=值;

select @局部变量名:=值;

select 字段 into 局部变量名 from 表;

例 声明两个变量并赋初始值,求和,并打印。

//1.用户变量
set @m=1;
set @n=2;
set @sum=@m+@n
select @sum;
//2.局部变量
declare m int default 1;
declare n int default 2;
declare sum int;
set sum=m+n;
select sum;
发布了90 篇原创文章 · 获赞 48 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Asher_S/article/details/89603249
21.