摘自:
https://www.cnblogs.com/qixuejia/archive/2010/12/21/1913203.html
https://blog.csdn.net/arbben/article/details/78665389
1、mysql中变量不用事前申明,在用的时候直接用“@变量名”使用就可以了。
mysql定义用户变量的方式:
第一种用法:set @num=1; 或set @num:=1; //这里要使用变量来保存数据,直接使用@num变量
第二种用法:select @num:=1; 或 select @num:=字段名 from 表名 where ……
2、MySQL 给查询数据编号的两种方法:
第一种方法:
select (@i:=@i+1) as i,table_name.* from table1,(select @i:=0) as it
分析:
①、select @i:=0 , 在开始时定义一个变量 i 且初始值为 0;
②、对用户变量赋值有两种方式,一种是直接用”=”号,另一种是用”:=”号;
其区别在于使用set命令对用户变量进行赋值时,两种方式都可以使用;
当使用select语句对用户变量进行赋值时,只能使用”:=”方式,因为在select语句中,”=”号被看作是比较操作符 。
③、(@i:=@i+1) 也可以写成 @i:=@i+1,加括号是为了视觉上看这结构更清楚些。
④、在定义好一个变量后每次查询都会给这个变量自增,而我们每次执行查询语句获取结果后就不需要这个变量自增了,所以要把它重置为0,
第二种方法:
set @rownum=0;
select (@rownum:=@rownum+1) as rownum, t.username from table1 t limit 1,5;
分析:
①、先定义一个变量,并赋初值 0;
②、使用变量,并使他自增。