`

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 Limit 分页查询优化详解

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

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

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

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

    其实我们可以使用Limit关键字来避免全表扫描的情况,从而提高效率。 有个几千万条记录的表 on MySQL 5.0.x,现在要读出其中几十万万条左右的记录。常用方法,依次循环: select * from mytable where index_col = ...

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

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

    MySQL DQL - 分页查询.md

    示例代码演示了使用LIMIT关键字来实现分页查询的基本语法。其中,page_number表示要获取的页码,page_size表示每页显示的数据条数。通过计算偏移量(page_number-1)*page_size和限制获取的数据条数page_size,可以...

    简单实现JSP分页显示效果

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

    PHP 访问 MySQL ACCESS 类

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

    JSP分页显示的实例代码

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

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

    java后台springboot技术的小实例项目,浏览器地址访问http://localhost:8080/dialog/selectAllLaw

    mysql数据库操作.pdf

    Mysql操作命令大全。一、操作数据库;二、数据库中表的操作;三、操作表记录(增删改查,...四、使用limit关键字查询部分数据;五、外键;六、多表设计多表查询;七、子查询;八、事务控制;九、视图;十、权限管理

    MySQL管理系统 AMS v1.5.0107

    03) 高亮: 支持SQL高亮显示,有效防止书写SQL时错写库表名、字段名与及MYSQL相关关键字。 04) 扩展: 实现版块以JS扩展形式预载,数据库列表、数据请求发送等以JSON格式传输,无刷新快速呈现。 05) 易用: 支持版块...

    MySQL 千万级数据量如何快速分页

    后端开发中为了防止一次性加载太多数据导致内存、磁盘IO都开销过大,经常需要分页展示,这个时候就需要用到MySQL的LIMIT关键字。但你以为LIMIT分页就万事大吉了么,Too young,too simple啊,LIMIT在数据量大的时候极...

    AMS v1.0 MySQL数据库管理系统.rar

    03) 高亮: 支持SQL高亮显示,有效防止书写SQL时错写库表名、字段名与及MYSQL相关关键字。 04) 扩展: 实现版块以JS扩展形式预载,数据库列表、数据请求发送等以JSON格式传输,无刷新快速呈现。 05) 易用: 支持版块...

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

    {'id': 1, 'name': '华为mate9发布会' , 'limit': 100, 'status': 1, 'address': '会展中心1号厅', 'start_time': '2017-09-20 14:00:00','create_time':'2017-08-20 14:00:00'}, {'id': 2, 'name': '华为P1000...

    PHP和MYSQL实现分页导航思路详解

    预期效果 思路 通过SQL语句 SELECT * FROM table LIMIT start end 来从MySql数据库 步骤 传入页码p; 根据页码获取数据php-&gt;mysql 显示数据+分页条 ... 在进行查询数据库语言拼接的时候,LIMIT关键字后面要留空

    MYSQL管理系统(AMS) 1.5.0107.zip

    03) 高亮: 支持SQL高亮显示,有效防止书写SQL时错写库表名、字段名与及MYSQL相关关键字。 04) 扩展: 实现版块以JS扩展形式预载,数据库列表、数据请求发送等以JSON格式传输,无刷新快速呈现。 05) 易用: 支持版块...

    WEB08-JDBC.rar

    11,能够使用Limit关键字进行查询操作 12,能够理解JDBC的概念 13,能够使用DriverManager类 14,能够使用Connection接口 15,能够使用Statement接口 16,能够使用ResultSet接口 17,能够使用JDBC编写查询所有数据的...

    mysql修改语句-mysql

    如果指定的是默认值,可用关键字 DEFAULT 表示列值。 WHERE 子句:可选项。用于限定表中要修改的行。若不指定,则修改表中所有的行。 ORDER BY 子句:可选项。用于限定表中的行被修改的次序。 LIMIT 子句:可选项。...

    MySql中取前几行数据使用limit来完成

    在mysql中是没有top关键字的,在mysql中可以用limit来完成功能。 order by id desc limit 10 按照id的倒序排序 取出前10条 order by id desc limit 0,10 按照id的倒序排序 取出前10条 order by id limit 5,10 按照id...

    关于mysql数据查询中 count()等聚集函数,关键字limit,group by,having的一些用法

    对于初学者来说,一般用学生及其选课等信息这些基本的操作入手。 就以学生选课表为例: 最基本的查询格式: select 查询项 from 表名 where 查询条件; 1、查询所有信息 select * from student ;...

Global site tag (gtag.js) - Google Analytics