zoukankan      html  css  js  c++  java
  • 数据库分页--MySQL数据库

    关于实现MySQL分页的最简单的方法就是利用mysql数据库的limit函数:limit [offset,] rows

     SELECT * FROM 表名称 LIMIT M,N 

    limit 子句可以被用于强制 select 语句返回指定的记录数。

    limit 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1).为了与 postgresql 兼容,mysql 也支持句法: limit # offset #。

    select * from table limit 5,10; // 检索记录行 6-15


    为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:
    select * from table limit 95,-1; // 检索记录行 96-last.


    如果只给定一个参数,它表示返回最大的记录行数目:
    select * from table limit 5; //检索前 5 个记录行
    //换句话说,limit n 等价于 limit 0,n。


    1. select * from tablename <条件语句> limit 100,15  从100条记录后开始取15条 (实际取取的是第101-115条数据)
    2. select * from tablename <条件语句> limit 100,-1   从第100条后开始-最后一条的记录
    3. select * from tablename <条件语句> limit 15   相当于limit 0,15 .查询结果取前15条数据

    1. public List<Product> getProducts(int pageNo, int pageSize)  
    2. {  
    3. Connection conn=null;  
    4. ResultSet rs=null;  
    5. List<Product> list=new ArrayList<Product>();  
    6. conn=DB.getConn();  
    7. String sql="select * from product limit "+(pageNo-1)*pageSize+","+pageSize;  
    8.  
    9. rs=DB.executeQuery(conn, sql);  
    10. try  
    11. {  
    12. while(rs.next())  
    13. {  
    14. Product p=new Product();  
    15. p.setId(rs.getInt("id"));  
    16. p.setName(rs.getString("name"));  

    如果是几千上万数据,就直接使用mysql自带的函数 limit的用法就ok了,如果是100万以上的数据,可能就要讲方法了,

     select * from news where id>=(select id from news limit 490000,1) limit 10; 

  • 相关阅读:
    time 模块学习
    day 14 自定义模块,常用模块 time .datetime ,time 模块
    day 13 课后作业
    day 12 课后作业
    day 11课后作业
    树状数组最值
    hdu 1059 Dividing bitset 多重背包
    XVII Open Cup named after E.V. Pankratiev. XXI Ural Championship
    最长公共子序列板/滚动 N^2
    Uva 10635
  • 原文地址:https://www.cnblogs.com/liwenjuan/p/3202288.html
Copyright © 2011-2022 走看看