mysql分页limit

分页查询(limit)

分页查询,是一个很常见的,用到的地方很多,比如:淘宝、京东等商城,假如我搜索"显卡",商品列表页会出现很多相关的商品,在PC端也就是电脑上,会很清晰的看见,页面最下方,会有一个"上一页"、"下一页","1、2、3"、"共计多少页码" 等等。

为什么会用到分页呢?

你想呀,淘宝、京东 这类大平台,数据量是超级大的,如果我们查询数据,不做优化,就会导致查询的很慢。 这里额外说一点,优化数据库,不光是从查询上优化,还有表的优化,至于优化,是之后的课题,这里仅说分页。

分页的基础语句:

SELECT * FROM test limit 0,100;

 

limit 后面可以跟两个参数:

第一个参数:从哪个位置开始,最小值是0,意思为从第一条数据开始

第二个参数:总共查询多少条数据,图上示例的100,意思就是查询100条数据

那么有同学会问,limit后面一定要跟两个参数吗?

答案是,可以有一个,但不能没有!

咱们去试一下看看效果:

如果limit后面什么参数都不跟,那么就会提示 语法错误。

来试试跟一个呢:

能发现,和之前是一样的,也是查了100条数据,并且数据是一样的,那么也就可以理解为,是从第一条查询的

limit 后面的参数,两个参数,用英文逗号隔开,并且只能是数字,如果是字符串等其他的,也会报 语法错误!

现在咱们来看看,分页!

第一页,咱们查询的是100条数据,用的语句是 SELECT * FROM `test` limit 0,100;

那么查询第二页呢?

是这样吗?:SELECT * FROM `test` limit 1,100;

NO!

为什么呢?咱们可以先来看看效果:

依旧是100条数据,发现id没,之前的 limit 0,100,id最后是100,现在我们用的是 limit 1,100,id最后是101,只是加了1

只是加了 1条? 这显然不对,因为我们分页,第一页是100条数据,id 是 1到100,那么第二页除了是100条数据,id应该是 101到200 这样才符合!

那么 到底是哪里的问题呢?

其实,是 limit后面的参数,记得上面说的吗,第一个参数 是从哪个位置开始,最小值是0,意思为从第一条数据开始

所以我们要取第二页的数据,应该是 0+100,也就是 limit 100,100

来看看效果:SELECT * FROM `test` limit 100,100;

 有同学会有疑问,第一个参数加了100,从第100条数据开始查询,第二个参数应该也要加100,不对的喔,第二条参数,它的意思是 总共查询多少条数据,图上示例的100,意思就是查询100条数据

 以上,就做到了 分页的效果。

难点在于 limit后面的参数,区分好第一个参数和第二个参数即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值