LIMIT MySQL & PRZESUNIĘCIE z przykładami

Anonim

Co to jest słowo kluczowe LIMIT?

Słowo kluczowe limit służy do ograniczania liczby wierszy zwracanych w wyniku zapytania.

Może być używany w połączeniu ze składnią słowa kluczowego LIMIT poleceń SELECT, UPDATE LUB DELETE

Składnia słowa kluczowego LIMIT jest następująca

SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;

TUTAJ

  • „SELECT {fieldname (s) | *} FROM tableName (s)” to instrukcja SELECT zawierająca pola, które chcielibyśmy zwrócić w naszym zapytaniu.
  • „[WHERE warunek]” jest opcjonalny, ale po podaniu można go użyć do określenia filtru w zestawie wyników.
  • „LIMIT N” jest słowem kluczowym, a N to dowolna liczba zaczynająca się od 0, wstawienie 0, ponieważ limit nie zwraca żadnych rekordów w zapytaniu. Podanie liczby, powiedzmy 5, zwróci pięć rekordów. Jeśli rekordy w określonej tabeli są mniejsze niż N, wszystkie rekordy z tabeli, której dotyczy zapytanie, są zwracane w zestawie wyników.

Spójrzmy na przykład -

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

Jak widać na powyższym zrzucie ekranu, zwrócono tylko dwóch członków.

Pobieranie listy dziesięciu (10) członków tylko z bazy danych

Załóżmy, że chcemy uzyskać listę pierwszych 10 zarejestrowanych członków z bazy danych Myflix. Aby to osiągnąć, użylibyśmy następującego skryptu.

SELECT * FROM members LIMIT 10;

Wykonanie powyższego skryptu daje nam wyniki pokazane poniżej

 
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

Zauważ, że tylko 9 członków zostało zwróconych w naszym zapytaniu, ponieważ N w klauzuli LIMIT jest większe niż liczba wszystkich rekordów w naszej tabeli.

Ponowne napisanie powyższego skryptu w następujący sposób

SELECT * FROM members LIMIT 9;

Zwraca tylko 9 wierszy w naszym zestawie wyników zapytania.

Korzystanie z opcji OFF SET w zapytaniu LIMIT

Wartość OFF SET jest również najczęściej używana razem ze słowem kluczowym LIMIT. Wartość OFF SET pozwala nam określić wiersz, w którym należy rozpocząć pobieranie danych

Załóżmy, że chcemy uzyskać ograniczoną liczbę członków, zaczynając od środka wierszy, możemy użyć słowa kluczowego LIMIT wraz z wartością przesunięcia, aby to osiągnąć. Poniższy skrypt pobiera dane począwszy od drugiego wiersza i ogranicza wyniki do 2.

SELECT * FROM `members` LIMIT 1, 2;

Wykonanie powyższego skryptu w środowisku roboczym MySQL na myflixdb daje następujące wyniki.

 
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

Kiedy powinniśmy używać słowa kluczowego LIMIT?

Załóżmy, że tworzymy aplikację, która działa na bazie myflixdb. Nasz projektant systemu poprosił nas o ograniczenie liczby rekordów wyświetlanych na stronie do 20 rekordów na stronę, aby przeciwdziałać powolnemu ładowaniu. W jaki sposób wdrażamy system spełniający takie wymagania użytkowników? W takich sytuacjach przydatne jest słowo kluczowe LIMIT. Moglibyśmy ograniczyć wyniki zwracane z zapytania do 20 rekordów tylko na stronę.

Podsumowanie

  • Słowo kluczowe LIMIT funkcji służy do ograniczania liczby wierszy zwracanych z zestawu wyników.
  • Liczba LIMIT może być dowolną liczbą od zera (0) w górę. Gdy jako limit określono zero (0), z zestawu wyników nie są zwracane żadne wiersze.
  • Wartość OFF SET pozwala nam określić wiersz, w którym należy rozpocząć pobieranie danych
  • Może być używany w połączeniu ze składnią słowa kluczowego LIMIT poleceń SELECT, UPDATE LUB DELETE