mysql分页查询

mysql分页查询

#分页查询
/*

应用场景:当要显示的数据,一页显示不全,需要分页提交sql请求
语法:
    select 查询列表
    from 表
    【join type join 表2
    on 连接条件
    where 筛选条件
    group by 分组字段
    having 分组后的筛选
    order by 排序的字段】
    limit 【offset,】size;
    
    offset要显示条目的起始索引(起始索引从0开始)
    size 要显示的条目个数
特点:
    ①limit语句放在查询语句的最后(limit从语法上和执行上都是最后)
    ②公式
    要显示的页数 page,每页的条目数size
    
    select 查询列表
    from 表
    limit (page-1)*size,size;
    
    假如size=10
       找规律
       page    起始索引
         1              0
         2            10
         3            20
    
*/

下面直接po代码,代码中有注释

#分页查询
/*

应用场景:当要显示的数据,一页显示不全,需要分页提交sql请求
语法:
	select 查询列表
	from 表
	【join type join 表2
	on 连接条件
	where 筛选条件
	group by 分组字段
	having 分组后的筛选
	order by 排序的字段】
	limit 【offset,】size;
	
	offset要显示条目的起始索引(起始索引从0开始)
	size 要显示的条目个数
特点:
	①limit语句放在查询语句的最后(limit从语法上和执行上都是最后)
	②公式
	要显示的页数 page,每页的条目数size
	
	select 查询列表
	from 表
	limit (page-1)*size,size;
	
	假如size=10
       找规律
       page    起始索引
	1	  0
	2  	 10
	3	 20
	
*/
#案例1:查询前五条员工信息
SELECT * FROM employees LIMIT 0, 5;
#如果你要查询的数据,是从第一条数据开始的,那么0可以省略,如下:
SELECT * FROM employees LIMIT 5;

#案例2:查询第11条到第25条(起始索引从10开始,显示15条)
SELECT * FROM employees LIMIT 10, 15;

#案例3:有奖金的员工信息,并且工资较高的前10名显示出来
SELECT 
  * 
FROM
  employees 
WHERE commission_pct IS NOT NULL 
ORDER BY salary DESC 
LIMIT 0, 10 ;

#或者
SELECT 
  * 
FROM
  employees 
WHERE commission_pct IS NOT NULL 
ORDER BY salary DESC 
LIMIT 10 ;

#DELETE可以搭配着LIMIT使用
DELETE FROM `author3` WHERE nation = '中国' LIMIT 2;

 

你可能感兴趣的:(mysql分页查询)