mysql有临时变量。MySQL变量可分为临时变量、局部变量、会话变量和全局变量;其中临时变量就是用户变量,需要配合“@”符使用,不需要声明,用法为“set @name=value;”和“select @num=value;”。
本教程操作环境: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也被称之为局部变量
【