Hvad er LIMIT nøgleordet?
Grænsenøgleordet bruges til at begrænse antallet af rækker, der returneres i et forespørgselsresultat.
Den kan bruges sammen med kommandoerne VÆLG, OPDATER ELLER SLET, BEGRÆNS nøgleordssyntaks
Syntaksen for LIMIT-nøgleordet er som følger
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;
HER
- "SELECT {fieldname (s) | *} FROM tableName (s)" er SELECT-sætningen, der indeholder de felter, som vi gerne vil returnere i vores forespørgsel.
- "[WHERE condition]" er valgfri, men kan, når den leveres, bruges til at specificere et filter på resultatsættet.
- "GRÆNSE N" er nøgleordet, og N er ethvert tal, der starter fra 0, hvilket sætter 0, da grænsen ikke returnerer nogen poster i forespørgslen. Hvis du sætter et tal, siger 5, returneres fem poster. Hvis posterne i den angivne tabel er mindre end N, returneres alle poster fra den forespurgte tabel i resultatsættet.
Lad os se på et eksempel -
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 |
Som du kan se fra ovenstående skærmbillede, er kun to medlemmer blevet returneret.
Få kun en liste med ti (10) medlemmer fra databasen
Lad os antage, at vi ønsker at få en liste over de første 10 registrerede medlemmer fra Myflix-databasen. Vi bruger følgende script til at opnå det.
SELECT * FROM members LIMIT 10;
Udførelse af ovenstående script giver os resultaterne vist nedenfor
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 |
Bemærk, at kun 9 medlemmer er returneret i vores forespørgsel, da N i LIMIT-klausulen er større end antallet af samlede poster i vores tabel.
Omskrivning af ovenstående script som følger
SELECT * FROM members LIMIT 9;
Returnerer kun 9 rækker i vores forespørgselsresultatsæt.
Brug af OFF SET i LIMIT-forespørgslen
Den OFF SET værdi er også oftest bruges sammen med LIMIT søgeord. OFF SET-værdien giver os mulighed for at specificere, hvilken række der skal startes fra hentning af data
Lad os antage, at vi ønsker at få et begrænset antal medlemmer startende fra midten af rækkerne, vi kan bruge nøgleordet LIMIT sammen med offsetværdien for at opnå det. Skriften vist nedenfor får data, der starter den anden række og begrænser resultaterne til 2.
SELECT * FROM `members` LIMIT 1, 2;
Udførelse af ovenstående script i MySQL workbench mod myflixdb giver følgende resultater.
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 |
Hvornår skal vi bruge LIMIT nøgleordet?
Lad os antage, at vi udvikler applikationen, der kører oven på myflixdb. Vores systemdesigner har bedt os om at begrænse antallet af poster, der vises på en side, til at sige 20 poster pr. Side for at modvirke langsomme indlæsningstider. Hvordan skal vi implementere det system, der opfylder sådanne brugerkrav? Nøgleordet LIMIT er nyttigt i sådanne situationer. Vi ville være i stand til at begrænse resultaterne fra en forespørgsel til kun 20 poster pr. Side.
Resumé
- Nøgleordet LIMIT bruges til at begrænse antallet af rækker, der returneres fra et resultatsæt.
- LIMIT-nummeret kan være et hvilket som helst tal fra nul (0), der går opad. Når nul (0) er angivet som grænsen, returneres ingen rækker fra resultatsættet.
- OFF SET-værdien giver os mulighed for at specificere, hvilken række der skal startes fra hentning af data
- Den kan bruges sammen med kommandoerne VÆLG, OPDATER ELLER SLET, BEGRÆNS nøgleordssyntaks