Dans MySQL, le mot-clé limit est principalement utilisé pour spécifier quel enregistrement les résultats de la requête commencent à être affichés et combien d'enregistrements sont affichés au total ; il a trois syntaxes d'utilisation : "LIMIT position initiale, nombre d'enregistrements", "LIMIT number" d'enregistrements" et " LIMITE le nombre d'enregistrements OFFSET position initiale".
L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.
Lorsqu'il y a des dizaines de milliers de données dans la table de données, interroger toutes les données de la table en même temps ralentira la vitesse de retour des données et mettra beaucoup de pression sur le serveur de base de données. À l'heure actuelle, vous pouvez utiliser le mot-clé LIMIT pour limiter le nombre de résultats de requête renvoyés.
LIMIT est un mot-clé spécial dans MySQL, qui est utilisé pour spécifier quel enregistrement les résultats de la requête commencent à être affichés et combien d'enregistrements sont affichés au total.
Le mot-clé LIMIT peut être utilisé de 3 manières, à savoir en spécifiant la position initiale, en ne spécifiant pas la position initiale, et utilisé en combinaison avec OFFSET.
Spécifiez la position initiale
Le mot-clé LIMIT peut spécifier quel enregistrement les résultats de la requête commencent à afficher et combien d'enregistrements sont affichés.
LIMIT Le format de syntaxe de base pour spécifier la position initiale est le suivant :
LIMIT 初始位置,记录数
Parmi eux, « position initiale » indique quel enregistrement commencer à afficher ; « nombre d'enregistrements » indique le nombre d'enregistrements affichés. Le premier enregistrement est à la position 0 et le deuxième enregistrement est à la position 1. Les enregistrements suivants sont déduits dans l'ordre.
Remarque : Les deux paramètres après LIMIT doivent être des entiers positifs.
Exemple 1
Dans la table tb_students_info, utilisez la clause LIMIT pour renvoyer 5 enregistrements à partir du 4ème enregistrement. L'instruction SQL et les résultats d'exécution sont les suivants.
mysql> SELECT * FROM tb_students_info LIMIT 3,5; +----+-------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+-------+---------+------+------+--------+------------+ | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 | | 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 | | 6 | John | 2 | 21 | M | 172 | 2015-11-11 | | 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 | | 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 | +----+-------+---------+------+------+--------+------------+ 5 rows in set (0.00 sec)
Comme vous pouvez le voir d'après les résultats, cette instruction renvoie les 5 enregistrements suivants à partir du 4ème enregistrement. Le premier chiffre « 3 » après le mot-clé LIMIT signifie à partir de la ligne 4 (la position enregistrée commence à 0 et la position de la ligne 4 est 3), et le deuxième chiffre 5 signifie le nombre de lignes renvoyées.
Ne pas spécifier la position initiale
Mot-clé LIMIT Lorsque la position initiale n'est pas spécifiée, les enregistrements seront affichés à partir du premier enregistrement. Le nombre d'enregistrements affichés est spécifié par le mot-clé LIMIT.
Le format de syntaxe de base de LIMIT sans préciser la position initiale est le suivant :
LIMIT 记录数
Parmi eux, "nombre d'enregistrements" indique le nombre d'enregistrements à afficher. Si la valeur du « Nombre d'enregistrements » est inférieure au nombre total de résultats de requête, le nombre d'enregistrements spécifié sera affiché à partir du premier enregistrement. Si la valeur du « Nombre d'enregistrements » est supérieure au nombre total de résultats de la requête, tous les enregistrements interrogés seront affichés directement.
Exemple 2
Affiche les 4 premières lignes des résultats de la requête de la table tb_students_info. Les instructions SQL et les résultats d'exécution sont les suivants.
mysql> SELECT * FROM tb_students_info LIMIT 4; +----+-------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+-------+---------+------+------+--------+------------+ | 1 | Dany | 1 | 25 | F | 160 | 2015-09-10 | | 2 | Green | 3 | 23 | F | 158 | 2016-10-22 | | 3 | Henry | 2 | 23 | M | 185 | 2015-05-31 | | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 | +----+-------+---------+------+------+--------+------------+ 4 rows in set (0.00 sec)
Seuls 4 enregistrements sont affichés dans les résultats, indiquant que "LIMIT 4" limite le nombre d'enregistrements affichés à 4.
Exemple 3
Affiche les 15 premières lignes des résultats de la requête de la table tb_students_info. Les instructions SQL et les résultats d'exécution sont les suivants.
mysql> SELECT * FROM tb_students_info LIMIT 15; +----+--------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+--------+---------+------+------+--------+------------+ | 1 | Dany | 1 | 25 | F | 160 | 2015-09-10 | | 2 | Green | 3 | 23 | F | 158 | 2016-10-22 | | 3 | Henry | 2 | 23 | M | 185 | 2015-05-31 | | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 | | 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 | | 6 | John | 2 | 21 | M | 172 | 2015-11-11 | | 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 | | 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 | | 9 | Thomas | 3 | 22 | M | 178 | 2016-06-07 | | 10 | Tom | 4 | 23 | M | 165 | 2016-08-05 | +----+--------+---------+------+------+--------+------------+ 10 rows in set (0.26 sec)
Seuls 10 enregistrements sont affichés dans les résultats. Bien que le mot clé LIMIT spécifie que 15 enregistrements doivent être affichés, il n'y a que 10 enregistrements dans les résultats de la requête. Par conséquent, le système de base de données affiche les 10 enregistrements.
LIMIT avec un paramètre spécifie à partir de la première ligne du résultat de la requête. Le seul paramètre indique le nombre de lignes renvoyées, c'est-à-dire que "LIMIT n" et "LIMIT 0, n" renvoient les mêmes résultats. LIMIT avec deux arguments renvoie le nombre spécifié de lignes de données commençant à n'importe quelle position.
LIMIT peut être utilisé en combinaison avec OFFSET
LIMIT peut être utilisé en combinaison avec OFFSET. Le format de syntaxe est le suivant :
LIMIT 记录数 OFFSET 初始位置
Les paramètres de la syntaxe LIMIT ont la même signification. " spécifie quel enregistrement commencer à afficher; "enregistrement "Numéro" indique le nombre d'enregistrements affichés.
Exemple 4
Dans la table tb_students_info, utilisez LIMIT OFFSET pour renvoyer 5 enregistrements à partir du 4ème enregistrement. L'instruction SQL et les résultats d'exécution sont les suivants.
mysql> SELECT * FROM tb_students_info LIMIT 5 OFFSET 3; +----+-------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+-------+---------+------+------+--------+------------+ | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 | | 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 | | 6 | John | 2 | 21 | M | 172 | 2015-11-11 | | 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 | | 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 | +----+-------+---------+------+------+--------+------------+ 5 rows in set (0.00 sec)
Comme vous pouvez le voir d'après les résultats, cette instruction renvoie les 5 enregistrements suivants à partir du 4ème enregistrement. Autrement dit, "LIMIT 5 OFFSET 3" signifie obtenir les 5 enregistrements suivants à partir du 4ème enregistrement, ce qui est le même que le résultat renvoyé par "LIMIT 3, 5".
【Recommandation associée : tutoriel vidéo mysql】
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!