MySQL RAJA & OFFSET esimerkkien avulla

Anonim

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 email 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 email 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 email 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
Note that here OFFSET = 1 Hence row#2 is returned & Limit = 2, Hence only 2 records are returned

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