变量可以分为以下几个类型:局部变量,用户变量,会话变量,全局变量。
局部变量
声明用到了关键字declare
declare声明变量必须在存储过程的最开始,否则就会出错。
BEGIN #Routine body goes here... #变量的定义 declare var2 int(4); #变量的赋值方式一:直接赋值 set var2 = 2; #变量的赋值方式二:将查询结果赋值给变量 select u_id into var2 from users where u_name = ‘zhangsan‘; END
全局变量
其作用域为server的整个生命周期。
set sql_warnings=FALSE; #直接设置
用户变量
MySQL中的用户变量的作用域是当前连接,声明、赋值和查询都是用@符号。
set @var1 = 2;
会话变量
作用域仅限于当前连接,即每个连接中的会话变量是独立的