Mikä on LIMIT-avainsana?
Raja-avainsanaa käytetään rajoittamaan kyselytuloksessa palautettujen rivien määrää.
Sitä voidaan käyttää yhdessä SELECT, UPDATE OR DELETE -komentojen LIMIT avainsanan syntaksin kanssa
LIMIT-avainsanan syntaksi on seuraava
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;
TÄSSÄ
- "SELECT {fieldname (s) | *} FROM tableName (s)" on SELECT-käsky, joka sisältää kentät, jotka haluaisimme palauttaa kyselyssä.
- "[WHERE condition]" on valinnainen, mutta toimitettaessa sitä voidaan käyttää suodattimen määrittämiseen tulosjoukkoon.
- "LIMIT N" on avainsana ja N on mikä tahansa luku, joka alkaa 0: sta, jolloin 0, koska raja ei palauta kyselyyn tietueita. Numeron sanominen 5 palauttaa viisi tietuetta. Jos määritetyn taulukon tietueet ovat pienempiä kuin N, kaikki kysytyn taulukon tietueet palautetaan tulosjoukkoon.
Katsotaanpa esimerkkiä -
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 |
Kuten yllä olevasta kuvakaappauksesta näet, vain kaksi jäsentä on palautettu.
Kymmenen (10) jäsenen luettelon saaminen vain tietokannasta
Oletetaan, että haluamme saada luettelon 10 ensimmäisestä rekisteröityneestä jäsenestä Myflix-tietokannasta. Käytämme seuraavaa komentosarjaa sen saavuttamiseksi.
SELECT * FROM members LIMIT 10;
Yllä olevan komentosarjan suorittaminen antaa meille alla esitetyt tulokset
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 |
Huomaa, että vain 9 jäsentä on palautettu kyselymme, koska N LIMIT-lausekkeessa on suurempi kuin taulukossamme olevien tietueiden kokonaismäärä.
Kirjoita yllä oleva komentosarja uudelleen seuraavasti
SELECT * FROM members LIMIT 9;
Palauttaa vain 9 riviä kyselytulosarjassa.
OFF SET -toiminnon käyttäminen LIMIT-kyselyssä
OFF SET -arvo on myös useimmiten käytetään yhdessä LIMIT avainsanan. OFF SET -arvon avulla voimme määrittää, mikä rivi aloitetaan tietojen noutamisesta
Oletetaan, että haluamme saada rajoitetun määrän jäseniä rivien keskeltä alkaen, voimme käyttää LIMIT-avainsanaa yhdessä offset-arvon kanssa tämän saavuttamiseksi. Alla esitetty komentosarja saa tiedot toisesta rivistä alkaen ja rajoittaa tulokset kahteen.
SELECT * FROM `members` LIMIT 1, 2;
Yllä olevan komentosarjan suorittaminen MySQL-työpöydällä myflixdb: tä vastaan antaa seuraavat tulokset.
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 |
Milloin meidän tulisi käyttää LIMIT-avainsanaa?
Oletetaan, että kehitämme sovellusta, joka toimii myflixdb: n päällä. Järjestelmäsuunnittelijamme on pyytänyt meitä rajoittamaan sivulla näytettävien tietueiden määrää sanoen 20 tietuetta sivua kohti hidasta latausaikaa vastaan. Kuinka voimme toteuttaa järjestelmän, joka täyttää käyttäjän vaatimukset? LIMIT-avainsana on hyödyllinen tällaisissa tilanteissa. Voimme rajoittaa kyselystä palautetut tulokset 20 tietueeseen vain sivua kohden.
Yhteenveto
- LIMIT-avainsanaa käytetään rajoittamaan tulosjoukosta palautettujen rivien määrää.
- LIMIT-numero voi olla mikä tahansa luku nollasta (0) ylöspäin. Kun nollaksi (0) määritetään raja, yhtään riviä ei palauteta tulosjoukosta.
- OFF SET -arvon avulla voimme määrittää, mikä rivi aloitetaan tietojen noutamisesta
- Sitä voidaan käyttää yhdessä SELECT, UPDATE OR DELETE -komentojen LIMIT avainsanan syntaksin kanssa