Was ist das Schlüsselwort LIMIT?
Das Schlüsselwort limit wird verwendet, um die Anzahl der in einem Abfrageergebnis zurückgegebenen Zeilen zu begrenzen.
Es kann in Verbindung mit den LIMIT-Schlüsselwortsyntax der Befehle SELECT, UPDATE OR DELETE verwendet werden
Die Syntax für das Schlüsselwort LIMIT lautet wie folgt
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;
HIER
- "SELECT {Feldname (n) | *} FROM Tabellenname (n)" ist die SELECT-Anweisung, die die Felder enthält, die wir in unserer Abfrage zurückgeben möchten.
- "[WHERE-Bedingung]" ist optional, kann jedoch bei Angabe verwendet werden, um einen Filter für die Ergebnismenge anzugeben.
- "LIMIT N" ist das Schlüsselwort und N ist eine beliebige Zahl ab 0, wobei 0 gesetzt wird, da das Limit keine Datensätze in der Abfrage zurückgibt. Wenn Sie eine Zahl von 5 eingeben, werden fünf Datensätze zurückgegeben. Wenn die Datensätze in der angegebenen Tabelle kleiner als N sind, werden alle Datensätze aus der abgefragten Tabelle in der Ergebnismenge zurückgegeben.
Schauen wir uns ein Beispiel an -
SELECT * FROM members LIMIT 2;
membership_ number | full_ names | gender | date_of _birth | date_of _registration | physical_ address | postal_ address | contact_ number | credit_ card_ number | |
---|---|---|---|---|---|---|---|---|---|
1 | Janet Jones | Female | 21-07-1980 | NULL | First Street Plot No 4 | Private Bag | 0759 253 542 | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
2 | Janet Smith Jones | Female | 23-06-1980 | NULL | Melrose 123 | NULL | NULL | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
Wie Sie dem obigen Screenshot entnehmen können, wurden nur zwei Mitglieder zurückgegeben.
Eine Liste von zehn (10) Mitgliedern nur aus der Datenbank abrufen
Angenommen, wir möchten eine Liste der ersten 10 registrierten Mitglieder aus der Myflix-Datenbank abrufen. Wir würden das folgende Skript verwenden, um dies zu erreichen.
SELECT * FROM members LIMIT 10;
Wenn Sie das obige Skript ausführen, erhalten Sie die unten gezeigten Ergebnisse
membership_ number | full_ names | gender | date_of _birth | date_of _registration | physical_ address | postal_ address | contact_ number | credit_ card_ number | |
---|---|---|---|---|---|---|---|---|---|
1 | Janet Jones | Female | 21-07-1980 | NULL | First Street Plot No 4 | Private Bag | 0759 253 542 | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
2 | Janet Smith Jones | Female | 23-06-1980 | NULL | Melrose 123 | NULL | NULL | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
3 | Robert Phil | Male | 12-07-1989 | NULL | 3rd Street 34 | NULL | 12345 | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
4 | Gloria Williams | Female | 14-02-1984 | NULL | 2nd Street 23 | NULL | NULL | NULL | NULL |
5 | Leonard Hofstadter | Male | NULL | NULL | Woodcrest | NULL | 845738767 | NULL | NULL |
6 | Sheldon Cooper | Male | NULL | NULL | Woodcrest | NULL | 976736763 | NULL | NULL |
7 | Rajesh Koothrappali | Male | NULL | NULL | Woodcrest | NULL | 938867763 | NULL | NULL |
8 | Leslie Winkle | Male | 14-02-1984 | NULL | Woodcrest | NULL | 987636553 | NULL | NULL |
9 | Howard Wolowitz | Male | 24-08-1981 | NULL | SouthPark | P.O. Box 4563 | 987786553 | lwolowitz[at]email.me | NULL |
Beachten Sie, dass in unserer Abfrage nur 9 Mitglieder zurückgegeben wurden, da N in der LIMIT-Klausel größer ist als die Anzahl der Gesamtdatensätze in unserer Tabelle.
Schreiben Sie das obige Skript wie folgt neu
SELECT * FROM members LIMIT 9;
Gibt nur 9 Zeilen in unserer Abfrageergebnismenge zurück.
Verwenden des OFF SET in der LIMIT-Abfrage
Der Wert OFF SET wird auch am häufigsten zusammen mit dem Schlüsselwort LIMIT verwendet. Mit dem Wert OFF SET können wir angeben, in welcher Zeile mit dem Abrufen von Daten begonnen werden soll
Nehmen wir an, wir möchten eine begrenzte Anzahl von Mitgliedern ab der Mitte der Zeilen erhalten. Dazu können wir das Schlüsselwort LIMIT zusammen mit dem Versatzwert verwenden. Das unten gezeigte Skript ruft Daten ab der zweiten Zeile ab und begrenzt die Ergebnisse auf 2.
SELECT * FROM `members` LIMIT 1, 2;
Das Ausführen des obigen Skripts in der MySQL-Workbench gegen die myflixdb führt zu den folgenden Ergebnissen.
membership_ number | full_ names | gender | date_of _birth | date_of _registration | physical_ address | postal_ address | contact_ number | credit_ card_ number | |
---|---|---|---|---|---|---|---|---|---|
2 | Janet Smith Jones | Female | 23-06-1980 | NULL | Melrose 123 | NULL | NULL | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
3 | Robert Phil | Male | 12-07-1989 | NULL | 3rd Street 34 | NULL | 12345 | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
Wann sollten wir das Schlüsselwort LIMIT verwenden?
Nehmen wir an, wir entwickeln die Anwendung, die auf myflixdb ausgeführt wird. Unser Systemdesigner hat uns gebeten, die Anzahl der auf einer Seite angezeigten Datensätze auf 20 Datensätze pro Seite zu begrenzen, um langsamen Ladezeiten entgegenzuwirken. Wie implementieren wir das System, das diese Benutzeranforderungen erfüllt? Das Schlüsselwort LIMIT ist in solchen Situationen nützlich. Wir könnten die von einer Abfrage zurückgegebenen Ergebnisse auf 20 Datensätze pro Seite beschränken.
Zusammenfassung
- Das Schlüsselwort LIMIT von wird verwendet, um die Anzahl der von einer Ergebnismenge zurückgegebenen Zeilen zu begrenzen.
- Die LIMIT-Nummer kann eine beliebige Zahl von Null (0) nach oben sein. Wenn Null (0) als Grenzwert angegeben wird, werden keine Zeilen aus der Ergebnismenge zurückgegeben.
- Mit dem Wert OFF SET können wir angeben, in welcher Zeile mit dem Abrufen von Daten begonnen werden soll
- Es kann in Verbindung mit den LIMIT-Schlüsselwortsyntax der Befehle SELECT, UPDATE OR DELETE verwendet werden