Kaj je ključna beseda LIMIT?
Ključna beseda limit se uporablja za omejitev števila vrstic, vrnjenih v rezultatu poizvedbe.
Uporablja se lahko skupaj z ukazi SELECT, UPDATE OR DELETE LIMIT sintaksa ključne besede
Sintaksa ključne besede LIMIT je naslednja
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;
TUKAJ
- "SELECT {ime (-a) polja * *} FROM tableName (s)" je stavek SELECT, ki vsebuje polja, ki jih želimo vrniti v našo poizvedbo.
- "[WHERE pogoj]" ni obvezen, če pa je na voljo, ga lahko uporabite za določanje filtra v nizu rezultatov.
- "LIMIT N" je ključna beseda, N pa poljubno število, začenši z 0, če postavite 0, saj omejitev ne vrne nobenega zapisa v poizvedbi. Če postavite številko, recimo 5, se bo vrnilo pet zapisov. Če so zapisi v navedeni tabeli manjši od N, se vsi zapisi iz poizvedbene tabele vrnejo v nabor rezultatov.
Poglejmo primer -
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 |
Kot lahko vidite iz zgornjega posnetka zaslona, sta bila vrnjena samo dva člana.
Pridobivanje seznama desetih (10) članov samo iz baze podatkov
Predpostavimo, da želimo iz baze podatkov Myflix dobiti seznam prvih 10 registriranih članov. Za to bi uporabili naslednji skript.
SELECT * FROM members LIMIT 10;
Z izvajanjem zgornjega skripta dobimo spodnje rezultate
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 |
Upoštevajte, da je bilo v našo poizvedbo vrnjenih le 9 članov, saj je N v stavku LIMIT večje od števila skupnih zapisov v naši tabeli.
Ponovno napišite zgornji skript, kot sledi
SELECT * FROM members LIMIT 9;
Vrne samo 9 vrstic v našem naboru rezultatov poizvedbe.
Uporaba funkcije OFF SET v poizvedbi LIMIT
Vrednost OFF SET se najpogosteje uporablja tudi skupaj s ključno besedo LIMIT. Vrednost OFF SET nam omogoča, da določimo, katero vrstico naj začne pri pridobivanju podatkov
Predpostavimo, da želimo dobiti omejeno število članov, začenši od sredine vrstic, za dosego tega lahko uporabimo ključno besedo LIMIT skupaj z vrednostjo odmika. Spodnji scenarij dobi podatke, ki se začnejo v drugi vrstici, in rezultate omeji na 2.
SELECT * FROM `members` LIMIT 1, 2;
Izvedba zgornjega skripta v MySQL delovni mizi proti myflixdb daje naslednje rezultate.
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 |
Kdaj naj uporabimo ključno besedo LIMIT?
Predpostavimo, da razvijamo aplikacijo, ki deluje na myflixdb. Naš sistemski oblikovalec nas je prosil, naj omejimo število zapisov, prikazanih na strani, na 20 zapisov na stran, da preprečimo počasne čase nalaganja. Kako naj začnemo z izvajanjem sistema, ki ustreza takim uporabniškim zahtevam? Ključna beseda LIMIT je v takšnih situacijah zelo priročna. Rezultate, vrnjene iz poizvedbe, bi lahko omejili na 20 zapisov samo na stran.
Povzetek
- Ključna beseda LIMIT se uporablja za omejitev števila vrstic, vrnjenih iz nabora rezultatov.
- Število LIMIT je lahko katero koli število od nič (0) navzgor. Ko je kot omejitev določena nič (0), se iz nabora rezultatov ne vrne nobena vrstica.
- Vrednost OFF SET nam omogoča, da določimo, katero vrstico naj začne pri pridobivanju podatkov
- Uporablja se lahko skupaj z ukazi SELECT, UPDATE OR DELETE LIMIT sintaksa ključne besede