Qu'est-ce que la pagination Cela signifie que la quantité de données est trop importante lors de l'interrogation, et tout ? les résultats des requêtes sont renvoyés immédiatement. Cela consomme des ressources réseau et réduit l'efficacité des requêtes. Il est impossible pour les utilisateurs de lire des milliers de données à la fois. C’est ainsi que la technologie de radiomessagerie est née. La pagination ne peut afficher qu'une quantité spécifiée de données.
Dans MySQL, utilisez le mot-clé LIMIT pour implémenter les opérations de pagination. Le format est :
LIMIT décalage de position, nombre d'entrées par page ;
Lorsque le décalage de position est égal à 0, cette instruction peut L'abréviation est :
LIMIT Nombre d'entrées par page ;
[Exemple 1] Interroger la table des employés employés
Les informations employee_id
, last_name
, salary
et department_id
. et affiché à 20 éléments par page. 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
est le décalage initial, c'est-à-dire à partir de quelle donnée commencer à afficher ; sur chaque page de données. #🎜🎜##🎜🎜# affiche les employés dont le numéro d'employé est compris entre 100 et 119. #🎜🎜##🎜🎜#[Exemple 2] Poursuivant l'exemple 1 ci-dessus, le code ci-dessus affiche uniquement les données sur la première page. Si l'utilisateur souhaite maintenant afficher les données sur la deuxième page, que doit-il faire ? Vous pouvez utiliser LIMIT
et le premier paramètre est le décalage initial pour que la base de données démarre à partir du 21ème élément de données (car le numéro du 1er élément de données est 0, donc le numéro du 20ème élément des données est 20) afficher. Comme indiqué dans le code suivant : #🎜🎜#rrreee#🎜🎜# affiche les employés portant les numéros d'employé 120 à 139. #🎜🎜##🎜🎜#[Résumé] Résumez une formule de pagination, en supposant que le nombre de données affichées sur chaque page est pageSize et que la page actuelle est pageNo, alors il y a la requête LIMIT
suivante formule : # 🎜🎜#rrreee#🎜🎜#2.2 Interroger l'enregistrement x x x de la table de la base de données#🎜🎜##🎜🎜#[Exemple 1] Interroger les données des 32e et 33e employés dans la table des employés employés . #🎜🎜#rrreee#🎜🎜#2.3 WHERE…ORDER BY…LIMIT… ordre de déclaration (ordre de non-exécution)#🎜🎜##🎜🎜#L'ordre de déclaration correct est tel qu'indiqué dans le code suivant : #🎜🎜#rrreee #🎜🎜 #3. L'extension#🎜🎜##🎜🎜#MySQL8.0 a ajouté une nouvelle fonctionnalité pour la pagination, en ajoutant un décalage <code>OFFSET
après LIMIT
:# 🎜🎜 ##🎜🎜##🎜🎜#LIMIT Nombre d'entrées par page OFFSET décalage initial ; faites simplement pivoter le numéro d'entrée de la page et supprimez la virgule. #🎜🎜##🎜🎜#LIMIT
peut être utilisé dans MySQL, PostgreSQL, MariaDB et SQLite. LIMIT
ne peut pas être utilisé dans Oracle, DB2, SQL Server ! #🎜🎜#Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!