php mssql 数据库分页SQL语句

我们在编写MIS系统和Web应用程序等系统时,都涉及到与数据库的交互,如果数据库中数据量很大的话,一次检索所有的记录,会占用系统很大的资源,因此我们常常采用,需要多少数据就只从数据库中取多少条记录,即采用分页语句。根据自己使用过的内容,把常见数据库Sql Server,Oracle和MySQL的分页语句,从数据库表中的第M条数据开始取N条记录的语句总结如下:
  SQL Server
  从数据库表中的第M条记录开始取N条记录,利用Top关键字:注意如果Select语句中既有top,又有order by,则是从排序好的结果集中选择:
  SELECT *
  FROM ( SELECT Top N *
  FROM (SELECT Top (M + N - 1) * FROM 表名称 Order by 主键 desc) t1 ) t2
  Order by 主键 asc
实例:
select * from ( select TOP pagesize * FROM ( SELECT TOP pagesize*cureentpage * from user_table ORDER BY id ASC ) as aSysTable ORDER BY id DESC ) as bSysTable ORDER BY id ASC
  例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
  SELECT *
  FROM ( SELECT TOP 20 *
  FROM (SELECT TOP 29 * FROM Sys_option order by sys_id desc) t1) t2
  Order by sys_id asc
  Oralce数据库
  从数据库表中第M条记录开始检索N条记录
  SELECT *
  FROM (SELECT ROWNUM r,t1.* From 表名称 t1 where rownum < M + N) t2
  where t2.r >= M
  例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
  SELECT *
  FROM (SELECT ROWNUM R,t1.* From Sys_option where rownum < 30 ) t2
  Where t2.R >= 10
  MySQL数据库
  My sql数据库最简单,是利用mysql的LIMIT函数,LIMIT [offset,] rows从数据库表中M条记录开始检索N条记录的语句为:
  SELECT * FROM 表名称 LIMIT M,N
  例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
  select * from sys_option limit 10,20

(0)

相关推荐

  • PHP学习之SQL语句快速入门

    Select * from tablename SQL> select * from employees; Select select list from tablename SQL> select employee_id,first_name from employees; Select distinct - from tablename SQL> select distinct manager_id from employees; ||连接符使用以及 加减乘除以及括号的使用 SQL&

  • PHP格式化MYSQL返回float类型的方法

    本文实例讲述了PHP格式化MYSQL返回float类型的方法.分享给大家供大家参考,具体如下: PHP 中获取mysql的float字段,echo 输出后,小数部分为包含多个0. 可使用 floatval($num) 将0舍去. 如要保留小数位,可使用 number_format($num, 2); number_format函数对超过指定位数的值,进行了四舍五入. 如不想四舍五入,而保留所有小数.可使用如下方法: // 如仅想保留两位小数可用 number_format($num, 2); e

  • PHP实现SQL语句格式化功能的方法 原创

    本文实例讲述了PHP实现SQL语句格式化功能的方法.分享给大家供大家参考,具体如下: 一.问题: 要求使用php实现针对sql语句的格式化功能 二.解决方法: 这里使用github上的开源代码实现SQL格式化功能. github下载地址:https://github.com/till/sql-formatter 或者点击此处本站下载. 使用方法: include包含SqlFormatter.php文件,针对sql语句使用format方法即可实现格式化功能. 具体代码如下: <?php inclu

  • PHP+Mysql实现多关键字与多字段生成SQL语句的函数

    本文实例讲述了PHP+Mysql实现多关键字与多字段生成SQL语句的函数的方法.分享给大家供大家参考.具体实现方法如下: 先看实例: 复制代码 代码如下: $keyword="1 2 3"; echo $sql=search($keyword,"enter_gongyin_pic","a+b+c"); //函数生成,没有LIMIT,没有ORDER BY 生成: 复制代码 代码如下: SELECT * FROM `enter_gongyin_pic

  • PHP 批量删除 sql语句

    首先要了解sql语句 $SQL="delete from `jb51` where id in (1,2,4)"; 表单大概是: 复制代码 代码如下: <form action="" method="post"> <input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="1"/>

  • PHP执行批量mysql语句的解决方法

    当有多条mysql语句连起来需要执行,比如 $sqls= "insert table a values(1,2); insert table a values(2,3);" 需要执行的话php中可以使用的方法有三个: mysql_query pdo mysqli 三种方法当sqls语句没有问题的时候都是可以的. 但是 当sql语句是错误的时候会出现问题第一条sql错误:三个方法都返回false 第一条sql正确,第二条sql错误:mysql_query.pdo. mysqli:quer

  • PHP之Mysql常用SQL语句示例的深入分析

    1.插入数据insert into表名(列名1,列名2,列名..) values(值1,值2,值...); insert into product(name, price, pic_path) values('Nike',500,'uploads/3245.jpg'); 2.更新数据update 表名set列名1=值1,列名2=值2[where条件]; update product set name='LiNing', price=50where id=2; 3.删除数据deletefrom表名

  • PHP+MySQL 手工注入语句大全 推荐

    暴字段长度 Order by num/* 匹配字段 and 1=1 union select 1,2,3,4,5--.n/* 暴字段位置 and 1=2 union select 1,2,3,4,5-..n/* 利用内置函数暴数据库信息 version() database() user() 不用猜解可用字段暴数据库信息(有些网站不适用): and 1=2 union all select version() /* and 1=2 union all select database() /* a

  • PHP mysqli 增强 批量执行sql 语句的实现代码

    mysqli 增强-批量执行sql 语句 复制代码 代码如下: <?php //mysqli 增强-批量执行sql 语句 //批量执行dql    //使用mysqli的mysqli::multi_query() 一次性添加3个用户 $mysqli =new MySQLi("localhost","root","root","test");    if($mysqli->connect_error){       

  • PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)

    写过PHP+MySQL的程序员都知道有时间差,UNIX时间戳和格式化日期是我们常打交道的两个时间表示形式,Unix时间戳存储.处理方便,但是不直观,格式化日期直观,但是处理起来不如Unix时间戳那么自如,所以有的时候需要互相转换,下面给出互相转换的几种转换方式. 一.在MySQL中完成 这种方式在MySQL查询语句中转换,优点是不占用PHP解析器的解析时间,速度快,缺点是只能用在数据库查询中,有局限性. 1. UNIX时间戳转换为日期用函数: FROM_UNIXTIME() 一般形式:selec

  • php mssql 分页SQL语句优化 持续影响

    复制代码 代码如下: <?php /** * @Filename :page.sql.class.php * @CreatTime :2009-01-06 * @Descrition :此类为SQL语句处理类. * @UpdateTime-1 :null * @Version :jswweb1.0.0 * @Author :fkedwgwy * @Dome : $sql//SQL语句 $allcount//总记录数 $pagesize//页面显示记录条数 $page//当前页 $sqlc= ne

  • php执行sql语句的写法

    复制代码 代码如下: <?php @mysql_connect("localhost", "root","1981427") //选择数据库之前需要先连接数据库服务器 or die("数据库服务器连接失败"); @mysql_select_db("test") //选择数据库mydb or die("数据库不存在或不可用"); $query = @mysql_query("

随机推荐