`

MySQL limit关键字

 
阅读更多
SELECT * FROM table_name limit num1, [num2]

  

num1表示从num1开始获取的数据行标识。

num2表示一共取多少行数据。

 

用limit实现分页会容易一些,而且效率也还不错。

// 每一页多少条数据
int pageRows = 20;
// 一共多少条数据
int totalRows = 0;
// 总页数
int totalPages = 0;

rs = ps.executeQuery();
// 获取多少个用户
while(rs.next()){
	totalRows = rs.getInt(1);
}
// 计算总页数
if(totalRows % pageRows == 0){
	totalPages = totalRows / pageRows;
}else{
	totalPages = totalRows / pageRows + 1;
}

hs.setAttribute("status", "ok");
// 输出页码到HTML
pw.println("<table class=customer>");
// 输出表头
pw.println("<thead><td>UserId</td><td>UserName</td><td>Password</td><td>Email</td><td>Telephone</td><td>Priority</td></thead>");
String sql = "SELECT UserId, UserName, Password, Priority, Email, Tel FROM customer LIMIT " +
	pageNow * pageRows + "," + pageRows;
ps = con.prepareStatement(sql);
System.out.println(sql);
rs = ps.executeQuery();
while(rs.next()){
	pw.println("<tr>");
	pw.println("<td class=customer>" + rs.getInt("UserId") + "</td>");
	pw.println("<td class=customer>" + rs.getString("UserName") + "</td>");
	pw.println("<td class=customer>" + rs.getString("Password") + "</td>");
	pw.println("<td class=customer>" + rs.getString("Email") + "</td>");
	pw.println("<td class=customer>" + rs.getString("Tel") + "</td>");
	pw.println("<td class=customer>" + rs.getInt("Priority") + "</td>");
	pw.println("</tr>");
}

pw.println("</table><br/><br/>");

// 首页
pw.println("<a href=welcome?currentPage=" + 0 + ">首页</a>");
// 上一页
pw.println("<a href=welcome?currentPage=" + ((pageNow - 1) > 0 ? (pageNow - 1) : pageNow) + ">上一页</a>");
// 输出导航页码
for(int i = pageNow + 1; i <= pageNow + 9 && i > 0 && i < totalPages + 1; ++i){
	pw.println("<a href=welcome?currentPage=" + (i - 1) + ">" + i +"</a>");
}

// 下一页
pw.println("<a href=welcome?currentPage=" + ((pageNow + 1) < totalPages - 1 ? (pageNow + 1) : pageNow) + ">下一页</a>");
// 尾页
pw.println("<a href=welcome?currentPage=" + (totalPages - 1) + ">尾页</a><br/><hr/>");

  

 

分享到:
评论

相关推荐

    MYSQL关键字

    ### MySQL关键字详解 #### 概述 MySQL作为一款广泛使用的开源关系型数据库管理系统,拥有丰富的关键字集合用于构建复杂的SQL查询及数据库操作。本文将对MySQL中的关键字进行详细解析,帮助开发者更好地理解和应用...

    mysql关键字

    首先,我们要了解MySQL的关键字,这些关键字是数据库语言的核心,用于定义、操作和控制数据库中的数据。以下是一些重要的MySQL关键字: 1. `ADD`:用于向表中添加列或索引。 2. `ALTER`:用于修改已有表的结构,如...

    Mysql Limit 分页查询优化详解

    MySQL之Limit简单优化.md 同样是取90000条后100条记录,传统方式还是改造方式? 传统方式是先取了前90001条记录,取其中最大一个ID值作为起始标识,然后利用它可以快速定位下100条记录 改造方式是仅仅取90000条记录后

    Mysql 关键字执行顺序

    MySQL 关键字执行顺序是数据库查询优化的重要概念,它直接影响着SQL语句的性能和结果。下面我们将详细探讨这些关键字的执行流程,并解答一些常见疑问。 首先,MySQL的执行顺序如下: 1. FROM:首先执行FROM子句,...

    关于Mysql分页的两种方法,假分页和limit分页

    LIMIT关键字与ORDER BY一起使用,可以实现高效的数据分页。例如,`SELECT * FROM table ORDER BY column LIMIT offset, limit` 这个SQL语句会返回从`offset`位置开始的`limit`条记录。这种方式在数据量较小的情况下...

    详解mysql的limit经典用法及优化实例

    MySQL中的`LIMIT`子句是用于在查询结果集中限制返回行数的关键字,这对于实现分页功能至关重要。本文将深入探讨`LIMIT`的几种经典用法以及如何对其进行优化,特别是针对大数据量时性能的提升。 **用法一:指定开始...

    mysql order by limit 的一个坑.docx

    MySQL 是一种广泛使用的关系型数据库管理系统,它提供了强大的查询功能,其中 ORDER BY 和 LIMIT 两个关键字是最常用的查询语句。然而,在某些情况下,使用 ORDER BY 和 LIMIT 两个关键字可能会出现一些坑,今天...

    mySQL之关键字的执行优先级讲解

    如下所示: from 表 where 条件 group by 字段 形成虚拟的表及字段,聚合及字段添加 having 筛选数据 distinct 去重 order by 字段 asc,desc limit 限制条数 ...补充知识:mysql where条件and的执行顺序从左到

    springboot+mybatis+limit代码实现分页、web前端到后台、crud、搜索关键字、完整实例项目

    在MySQL中,`LIMIT`子句常用于实现分页查询,它允许我们指定从哪一行开始获取数据,以及获取多少行。在MyBatis中,我们可以自定义Mapper方法来执行包含`LIMIT`的SQL查询,然后在SpringBoot的Controller中,根据前端...

    python mysql 字段与关键字冲突的解决方式

    例如,如果一个数据表中有名为`status`或`limit`这样的字段,它们在MySQL中是保留关键字,直接在SQL语句中使用可能会引发错误。为了解决这个问题,我们需要将这些字段名用反引号包裹,使得MySQL能够正确识别它们作为...

    Hibernate分页查询原理解读

    对于支持LIMIT关键字的数据库(例如MySQL),Hibernate会通过特定的方言(Dialect)来生成包含LIMIT关键字的SQL语句。具体实现如下: ```java Query q = session.createQuery("from Cataname"); q.setFirstResult...

    使用Limit参数优化MySQL查询的方法

    前些天看了一个老外写的程序,在 MySQL 查询中使用了很多 Limit 关键字,这就让我很感兴趣了,因为在我印象中, Limit 关键字似乎更多被使用 MySQL 数据库的程序员用来做查询分页(当然这也是一种很好的查询优化),...

    简单实现JSP分页显示效果

    1、mysql的limit关键字 (DAO) select * from tablename limit startPoint, numberPerPage; tablename 就是要分页显示的那张表的名称; startPoint 就是起始的位置 -1; numberPerPage 就是一页显示的条数。 例如...

    浅谈MySQL分页Limit的性能问题

    在这种情况下,`LIMIT` 关键字被用来实现分页,限制返回结果的数量。然而,当数据量增大,尤其是随着分页的深入,`LIMIT` 的性能问题会逐渐显现。 `LIMIT` 的使用方式通常是配合`ORDER BY` 来指定返回数据的顺序,...

    PHP 访问 MySQL ACCESS 类

    本程序统一PHP访问ACCESS和MySQL数据库的接口。 &lt;br&gt;适用于要求有多种数据库,或者开发时计划根据不同环境是用... setPageNo(int) // 分页,第一页是0页 &lt;br&gt;注意:本程序的query 语句慎重使用limit关键字。

    MySQL的保留字.pdf

    MySQL数据库中的保留字是指在数据库中具有特殊意义和用途的单词,它们被用于SQL语句中,以执行特定的操作或作为命令的关键字。这些保留字不能用作表名、列名或其他对象的名称。保留字通常用于执行数据查询、定义数据...

    如何提高MySQL Limit查询性能的方法详解

    Limit关键字常用于分页查询,但当数据量巨大时,单纯使用Limit进行全表扫描可能导致性能急剧下降。以下是一些提高Limit查询性能的方法。 1. **利用索引**: 当使用Limit时,配合合适的索引能有效提升查询速度。...

Global site tag (gtag.js) - Google Analytics