站长资讯网
最全最丰富的资讯网站

mysql有临时变量吗

mysql有临时变量。MySQL变量可分为临时变量、局部变量、会话变量和全局变量;其中临时变量就是用户变量,需要配合“@”符使用,不需要声明,用法为“set @name=value;”和“select @num=value;”。

mysql有临时变量吗

本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。

MySQL官方手册里是将变量分为系统变量和用户变量的,用户变量就是在一个语句里加在用户自定义的变量,然后这个变量可以赋值给其它变量,或者在另外一个语句里调用等。

不过有些地方也将变量按照用法分为:

  • 1、临时变量(@符号的情况,也就是mysql手册介绍的用户变量);

  • 2、局部变量(declare方式);

  • 3、会话变量;

  • 4、全局变量(也就是系统变量)。

其实分类只是为了方便记录学习,重点是掌握用法原理就可以

声明标准变量

DECLARE end_flag INT DEFAULT 0;
登录后复制

临时变量@(不需要声明)

只在局部起作用

用法一:set @name=value;

set @num=1; set @num:=1;
登录后复制

用法二:select @num=value;

select @num:=1; select @num:=字段名 from 表名 where ……
登录后复制

全局变量@@

系统变量,只能读取,不能修改,如@@error

局部变量(declare声明变量)

declare声明变量:declare声明关键字可以用于定义变量,一般用于存储过程或者自定义函数里

a)、declare声明变量

用法:声明一个v1变量,定义为int类型,默认值为0;

declare v1 INT default 0;
登录后复制

b)、declare变量使用

声明后变量一般是在存储过程或者自定义里的,所以是写在begin和end关键字之间的,外面的不能直接定义,然后调用,所以declare也被称之为局部变量

赞(0)
分享到: 更多 (0)