Hva er LIMIT søkeordet?
Begrensningsnøkkelordet brukes til å begrense antall rader som returneres i et søkeresultat.
Den kan brukes i forbindelse med kommandoene VELG, OPPDATER ELLER SLETT, BEGRENS syntaks for nøkkelord
Syntaksen for LIMIT-nøkkelordet er som følger
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;
HER
- "SELECT {fieldname (s) | *} FROM tableName (s)" er SELECT-setningen som inneholder feltene som vi ønsker å returnere i spørringen.
- "[WHERE condition]" er valgfritt, men når den leveres, kan den brukes til å spesifisere et filter på resultatsettet.
- "LIMIT N" er nøkkelordet og N er et hvilket som helst tall som starter fra 0, og setter 0 da grensen ikke returnerer noen poster i spørringen. Å sette et tall si 5 vil returnere fem poster. Hvis postene i den angitte tabellen er mindre enn N, returneres alle postene fra den spurte tabellen i resultatsettet.
La oss 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 skjermbildet ovenfor, har bare to medlemmer blitt returnert.
Få en liste med ti (10) medlemmer bare fra databasen
La oss anta at vi ønsker å få en liste over de 10 første registrerte medlemmene fra Myflix-databasen. Vi bruker følgende skript for å oppnå det.
SELECT * FROM members LIMIT 10;
Å utføre skriptet ovenfor gir oss resultatene 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 |
Merk at bare 9 medlemmer har blitt returnert i forespørselen vår, siden N i LIMIT-klausulen er større enn antall totale poster i tabellen vår.
Skriv om skriptet ovenfor som følger
SELECT * FROM members LIMIT 9;
Returnerer bare 9 rader i vårt resultatsett.
Bruker OFF SET i LIMIT-spørringen
Den OFF SET verdien er også oftest brukt sammen med LIMIT søkeord. OFF SET-verdien lar oss spesifisere hvilken rad som skal startes fra innhenting av data
La oss anta at vi ønsker å få et begrenset antall medlemmer fra midten av radene, vi kan bruke LIMIT-nøkkelordet sammen med forskyvningsverdien for å oppnå det. Skriptet vist nedenfor får data som starter den andre raden og begrenser resultatene til 2.
SELECT * FROM `members` LIMIT 1, 2;
Å utføre skriptet ovenfor i MySQL arbeidsbenk mot myflixdb gir 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 |
Når skal vi bruke LIMIT søkeordet?
La oss anta at vi utvikler applikasjonen som kjører på toppen av myflixdb. Systemdesigneren vår har bedt oss om å begrense antall poster som vises på en side til å si 20 poster per side for å motvirke langsomme lastetider. Hvordan skal vi implementere systemet som oppfyller slike brukerkrav? LIMIT-nøkkelordet kommer godt med i slike situasjoner. Vi ville være i stand til å begrense resultatene som returneres fra et spørsmål til 20 poster bare per side.
Sammendrag
- LIMIT-nøkkelordet for brukes til å begrense antall rader som returneres fra et resultatsett.
- LIMIT-tallet kan være et hvilket som helst tall fra null (0) som går oppover. Når null (0) er angitt som grense, returneres ingen rader fra resultatsettet.
- OFF SET-verdien lar oss spesifisere hvilken rad som skal startes fra innhenting av data
- Den kan brukes i forbindelse med kommandoene VELG, OPPDATER ELLER SLETT, BEGRENS syntaks for nøkkelord