分页功能实现mysql_MySQL中数据结果集分页功能的实现方法

---------------------------------------------------------------------------

---- 本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;

---- 转载务必注明原始出处

:

http://blog.csdn.net/andkylee

--- 2010-05-31 18:46:12

---- 关键字:  MySQL 分页  limit

----------------------------------------------------------------------------

目前B/S架构的软件大行其道。通过浏览器如何向终端用户只展示指定页面内容而不是全部的?毕竟返回全部结果集,时间和空间开销都很大。

如此情况下,对SQL返回结果集进行分页是个很不错的解决方案。

本文主要介绍MySQL数据库中的分页实现方式。我以一个数据库管理员的角度进行说明,至于具体的实现还需要开发人员详细编写过程。

总的说来,在MySQL中实现分页功能是很简单的事情。MySQL数据库的开发人员替广大的使用者着想,提供了一个关键字limit来实现限定指定范围的功能。

下面简单介绍分页的思路。

在MySQL5.0.15-nt-max下进行测试。

1.新建一张临时表(MyISAM或者InnoDB类型的都可以),本测试表没有使用自增列。

CREATE TABLE `andkylee` (

`id` int(11) NOT NULL,

`name` varchar(30) default NULL,

`sex` char(1) NOT NULL,

`age` smallint(6) default NULL,

`note` varchar(100) default NULL

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

2.插入测试数据。 在这里尤其介绍一种插入大量测试数据的方法。

先插入2条数据,

insert into andkylee

values(1,'hanyuliu','F',25,'aaaaaaaaaa'),(2,'andkylee','F',33,'bbbbbbbbbb');

批量插入数据

在没有自增列的情况下,用下面的语句来实现插入“重复”数据。

insert into andkylee

select id+(select max(id) from andkylee),name,sex,age,note from andkylee;

本语句能够复制表已有的所有记录,并且能够实现“主键列”自增。

可能有点缺陷的是:需要再select列表中逐个写出各个列名。但是,好像含有自增列的表为了实现插入重复数据,也必须把非自增列都写出来吧。 如果我说的不对,请告知。

循环插入重复数据,使得表数据行数以指数方式增长。 再把已有的数据插入到表内,行数变为以前的2倍。

insert into andkylee

select id+(select max(id) from andkylee),name,sex,age,note from andkylee;

mysql> select count(*) from andkylee;

+----------+

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值