Heim >Datenbank >MySQL-Tutorial >So implementieren Sie den Paging-Vorgang in MySQL
Was bedeutet Paging? Das bedeutet, dass die Datenmenge beim Abfragen zu groß ist Abfrageergebnisse werden sofort zurückgegeben. Dies verbraucht Netzwerkressourcen und verringert die Abfrageeffizienz. Es ist für Benutzer unmöglich, Tausende von Daten gleichzeitig zu lesen. So entstand die Paging-Technologie. Durch die Paginierung kann nur eine bestimmte Datenmenge angezeigt werden.
Verwenden Sie in MySQL das Schlüsselwort LIMIT, um Paging-Vorgänge zu implementieren. Das Format ist:
LIMIT Positionsoffset, Anzahl der Einträge pro Seite;
Wenn der Positionsoffset gleich 0 ist, kann diese Anweisung Die Abkürzung lautet:
LIMIT Anzahl der Einträge pro Seite;
[Beispiel 1] Fragen Sie die Mitarbeitertabelle employees
ab > Die Informationen zu employee_id
, last_name
, salary
und department_id
des Mitarbeiters. und mit 20 Elementen pro Seite angezeigt. employees
中的员工的 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
后第一个参数是初始偏移量,即从第几条数据开始显示;第二个参数是每页要显示多少条数据。
显示了员工编号 100~119 的员工。
【例子2】继续上面的例子1,上面的代码只是显示了第一页的数据,如果现在用户想要显示第2页的数据,应该怎么操作呢?可以使用 LIMIT
后第一个参数是初始偏移量来让数据库从第21条数据 (因为第1条数据的编号为 0 ,所以第20条数据的编号就是20) 开始显示。如下代码所示:
SELECT employee_id, last_name, salary FROM employees LIMIT 20, 20;
显示了员工编号 120~139 的员工。
【总结】总结一个分页的公式,设每页显示的数据个数为 pageSize,当前是第 pageNo 页,那么就有如下 LIMIT
查询公式:
LIMIT (pageNo - 1) * pageSize, pageSize;
【例子1】查询员工表 employees
中的第 32、33条员工的数据。
SELECT employee_id, last_name, salary FROM employees LIMIT 31, 2;
正确的声明顺序如下代码所示:
SELECT employee_id, last_name, salary FROM employees WHERE salary >= 5000 ORDER BY salary DESC LIMIT 0, 10;
MySQL8.0中对于分页新增了一个新特性,对 LIMIT
后增加了偏移量 OFFSET
:
LIMIT 每页条目数 OFFSET 初始偏移量;
对比一下原有的格式,无非就是把 初始偏移量 和 每页条目数 位置调转一下,然后把逗号去掉即可。
LIMIT
可以使用在 MySQL、PostgreSQL、MariaDB 和 SQLite 中。LIMIT
rrreee
LIMIT
der anfängliche Offset, d. h. ab welchem Datenelement mit der Anzeige begonnen werden soll; der zweite Parameter gibt an, wie viele Teile angezeigt werden sollen auf jeder Seite Daten. #🎜🎜##🎜🎜# zeigt Mitarbeiter mit den Mitarbeiternummern 100~119 an. #🎜🎜##🎜🎜#[Beispiel 2] In Fortsetzung des obigen Beispiels 1 zeigt der obige Code nur die Daten auf der ersten Seite an. Wenn der Benutzer nun die Daten auf der zweiten Seite anzeigen möchte, was soll er tun? Sie können LIMIT
verwenden und der erste Parameter ist der anfängliche Offset, damit die Datenbank beim 21. Datenelement beginnt (da die Nummer des 1. Datenelements 0 ist, also die Nummer des 20. Datenelements). der Daten beträgt 20) anzeigen. Wie im folgenden Code gezeigt: #🎜🎜#rrreee#🎜🎜# zeigt Mitarbeiter mit den Mitarbeiternummern 120~139 an. #🎜🎜##🎜🎜#[Zusammenfassung] Fassen Sie eine Paging-Formel zusammen. Nehmen Sie an, dass die Anzahl der auf jeder Seite angezeigten Daten pageSize und die aktuelle Seite pageNo ist. Dann gibt es die folgende LIMIT
-Abfrage Formel: # 🎜🎜#rrreee#🎜🎜#2.2 Abfrage des Datensatzes x x x der Datenbanktabelle#🎜🎜##🎜🎜#[Beispiel 1] Abfrage der Daten des 32. und 33. Mitarbeiters in der Mitarbeitertabelle mitarbeiter . #🎜🎜#rrreee#🎜🎜#2.3 WHERE…ORDER BY…LIMIT… Deklarationsreihenfolge (Nichtausführungsreihenfolge)#🎜🎜##🎜🎜#Die korrekte Deklarationsreihenfolge ist im folgenden Code dargestellt: #🎜🎜#rrreee #🎜🎜 #3. Erweiterung#🎜🎜##🎜🎜#MySQL8.0 hat eine neue Funktion für Paging hinzugefügt und einen Offset <code>OFFSET
nach LIMIT
hinzugefügt:# 🎜🎜 ##🎜🎜##🎜🎜#LIMIT Anzahl der Einträge pro Seite OFFSET anfänglicher Offset; Drehen Sie einfach die Seiteneintragsnummer und entfernen Sie das Komma. #🎜🎜##🎜🎜#LIMIT
kann in MySQL, PostgreSQL, MariaDB und SQLite verwendet werden. LIMIT
kann nicht in Oracle, DB2, SQL Server verwendet werden! #🎜🎜#Das obige ist der detaillierte Inhalt vonSo implementieren Sie den Paging-Vorgang in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!