• 技术文章 >数据库 >mysql教程

    MySQL如何实现分页查询

    清浅清浅2020-08-10 15:33:59原创10466
    MySQL中实现分页查询:在数据量较小的情况下可使用limit查询来实现分页查询,在数据量大的情况下使用建立主键或唯一索引来实现,另外可通过order by对其排序

    在后端项目中总是避免不了admin管理,当后台管理需要展示数据时就会需要用到分页,接下来在文中中将为大家分享的时MySQL如何实现分页查询,具有一定的参考作用,希望对大家有所帮助。

    【推荐课程:MySQL教程

    一般情况下在MySQL中进行分页查询时,会用到limit查询,而且在查询中都会使用到order by来进行排序。接下来将具体介绍MySQL是如何实现分页查询的

    分页需求:

    客户端通过传递start(页码),limit(每页显示的条数)两个参数去分页查询数据库表中的数据,MySql数据库提供分页的函数有limit m,n,但是该函数的用法和我们的需求不一样,所以就需要根据实际情况去改写适合自己的分页语句。例

    查询第1条到第10条的数据的sql是:

    select * from table limit 0,10;

    对应我们的需求就是查询第一页的数据:

    select * from table limit (1-1)*10,10;

    从上面的分析我们可以得出分页sql的格式是:

     select * from table limit (start-1)*limit,limit;

    其中start是页码,limit是每页显示的条数。

    建立主键或者唯一索引

    在数据量较小的时候使用 limit 进行数据分页在性能上面不会有明显的缓慢,但是当数据量达到了万级或百万级时,sql语句的性能将会影响数据的返回。这是就要使用主键或者是唯一索引来代替limit进行数据分页

    例:返回10到50之间的数据

    设主键或唯一索引为demo_id

    select * from table where demo_id > (pageNo-1)*pageSize limit pageSize;

    基于数据再排序

    当需要返回的信息要按顺序或者逆序时,就需要对上面的数据进行排序。可用order by ASC表示顺序,order byDESC表示逆序,一般情况下默认的为顺序

    例:返回的数据依照demo_id的顺序进行排列

    select * from table where demo_id > (pageNo-1)*pageSize order by demo_id limit pageSize;

    总结:以上就是本篇文章的全部内容了,希望对大家有所帮助

    以上就是MySQL如何实现分页查询的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:分页查询
    上一篇:MySQL如何更改用户密码?(代码实例) 下一篇:如何允许远程客户端连接MySQL服务器
    PHP编程就业班

    相关文章推荐

    • ajax实现分页查询功能• php分页查询• SQLServer多表联查和多表分页查询的方法(代码示例)

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网