집 >데이터 베이스 >MySQL 튜토리얼 >MySQL에서 페이징 작업을 구현하는 방법
페이징이란 무엇입니까? 쿼리할 때 모든 쿼리 결과를 한 번에 반환하면 네트워크 리소스가 소모되고 사용자가 한 번에 수천 페이지를 읽는 것은 불가능합니다. . 기사 데이터. 그래서 페이징 기술이 탄생했습니다. 페이지 매김은 지정된 양의 데이터만 표시할 수 있습니다.
MySQL에서는 LIMIT 키워드를 사용하여 페이징 작업을 구현합니다. 형식은 다음과 같습니다.
LIMIT 위치 오프셋, 페이지당 항목 수
위치 오프셋이 0과 같으면 명령문은 다음과 같이 축약될 수 있습니다.
그 중LIMIT 페이지당 항목 수; 예시 1 】직원 테이블
에 있는 직원의 <code>employee_id
,last_name
,salary
및department_id
를 쿼리합니다. 직원 > 정보. 페이지당 20개 항목으로 표시됩니다.# 写法一 SELECT employee_id, last_name, salary FROM employees LIMIT 0, 20; # 写法二 SELECT employee_id, last_name, salary FROM employees LIMIT 20;
LIMIT
다음의 첫 번째 매개변수는 초기 오프셋, 즉 어느 부분부터 표시할지, 두 번째 매개변수는 각 페이지에 표시할 데이터 수입니다. employees
中的员工的 employee_id
、last_name
、salary
和 department_id
信息。并按每页 20 条来显示。
SELECT employee_id, last_name, salary FROM employees LIMIT 20, 20;
其中,LIMIT
后第一个参数是初始偏移量,即从第几条数据开始显示;第二个参数是每页要显示多少条数据。
显示了员工编号 100~119 的员工。
【例子2】继续上面的例子1,上面的代码只是显示了第一页的数据,如果现在用户想要显示第2页的数据,应该怎么操作呢?可以使用 LIMIT
后第一个参数是初始偏移量来让数据库从第21条数据 (因为第1条数据的编号为 0 ,所以第20条数据的编号就是20) 开始显示。如下代码所示:
LIMIT (pageNo - 1) * pageSize, pageSize;
显示了员工编号 120~139 的员工。
【总结】总结一个分页的公式,设每页显示的数据个数为 pageSize,当前是第 pageNo 页,那么就有如下 LIMIT
查询公式:
SELECT employee_id, last_name, salary FROM employees LIMIT 31, 2;
【例子1】查询员工表 employees
中的第 32、33条员工的数据。
SELECT employee_id, last_name, salary FROM employees WHERE salary >= 5000 ORDER BY salary DESC LIMIT 0, 10;
正确的声明顺序如下代码所示:
rrreeeMySQL8.0中对于分页新增了一个新特性,对 LIMIT
后增加了偏移量 OFFSET
:
LIMIT 每页条目数 OFFSET 初始偏移量;
对比一下原有的格式,无非就是把 初始偏移量 和 每页条目数 位置调转一下,然后把逗号去掉即可。
LIMIT
可以使用在 MySQL、PostgreSQL、MariaDB 和 SQLite 中。LIMIT
직원 번호가 100~119인 직원을 표시합니다.
LIMIT
를 사용할 수 있으며 첫 번째 매개변수는 데이터베이스가 21번째 데이터부터 시작하도록 하는 초기 오프셋입니다(첫 번째 데이터의 개수가 0이므로 20번째의 개수는 데이터는 20) 보여줍니다. 다음 코드와 같이 🎜rrreee🎜 직원 번호가 120~139인 직원을 표시합니다. 🎜🎜[요약] 페이징 수식을 정리하면, 각 페이지에 표시되는 데이터 갯수가 pageSize이고, 현재 페이지가 pageNo라고 가정하면 다음과 같은 LIMIT
쿼리 수식이 있습니다. 🎜rrreee🎜2.2 Query 데이터베이스 테이블 x x x 레코드🎜🎜[예시 1] 직원 테이블 employees
에서 32번째, 33번째 직원의 데이터를 쿼리합니다. 🎜rrreee🎜2.3 WHERE…ORDER BY…LIMIT… 선언 순서(비실행 순서)🎜🎜올바른 선언 순서는 다음 코드와 같습니다: 🎜rrreee🎜3.MySQL 8.0에는 페이징을 위한 새로운 기능이 추가되었습니다. , LIMIT
뒤에 오프셋 OFFSET
추가:🎜🎜🎜LIMIT 페이지당 항목 수 OFFSET 초기 오프셋;🎜🎜🎜원래 형식을 비교하세요. 더 이상은 없습니다. 초기 오프셋을 반대로 하고 페이지당 항목 수를 입력하고 쉼표를 제거하세요. 🎜🎜LIMIT
는 MySQL, PostgreSQL, MariaDB 및 SQLite에서 사용할 수 있습니다. Oracle, DB2, SQL Server에서는 LIMIT
를 사용할 수 없습니다! 🎜위 내용은 MySQL에서 페이징 작업을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!