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 | 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 | 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 | 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 |
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