4、MySQL 申明变量给查询数据编号

时间:2023-01-24 07:12:54

摘自:

  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;

    ②、使用变量,并使他自增。