Instrukcja MySQL SELECT z przykładami

Spisie treści:

Anonim

Co to jest zapytanie SELECT w MySQL?

SELECT QUERY służy do pobierania danych z bazy danych MySQL. Bazy danych przechowują dane do późniejszego pobrania. Celem MySQL Select jest zwrócenie z tabel bazy danych jednego lub więcej wierszy, które spełniają podane kryteria. Zapytanie wybierające może być używane w językach skryptowych, takich jak PHP, Ruby, lub można je wykonać za pomocą wiersza poleceń.

Składnia instrukcji SQL SELECT

Jest to najczęściej używane polecenie SQL i ma następującą ogólną składnię

SELECT [DISTINCT|ALL ] { * | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition][GROUP BY fieldName(s)] [HAVING condition] ORDER BY fieldName(s)
TUTAJ
  • SELECT to słowo kluczowe SQL, które informuje bazę danych, że chcesz pobrać dane.
  • [WYRÓŻNIONY | ALL] to opcjonalne słowa kluczowe, których można użyć do dostrojenia wyników zwracanych przez instrukcję SQL SELECT. Jeśli nic nie jest określone, jako domyślne przyjmuje się ALL.
  • {* | [fieldExpression [AS newName]} co najmniej jedna część musi być określona, ​​"*" wybiera wszystkie pola z określonej nazwy tabeli, fieldExpression wykonuje pewne obliczenia na określonych polach, takie jak dodawanie liczb lub łączenie dwóch pól łańcuchowych w jedno.
  • FROM nazwaTabeli jest obowiązkowa i musi zawierać co najmniej jedną tabelę, wiele tabel należy oddzielić przecinkami lub połączyć za pomocą słowa kluczowego JOIN.
  • GDZIE warunek jest opcjonalny, można go użyć do określenia kryteriów w zestawie wyników zwróconym przez zapytanie.
  • GROUP BY służy do łączenia rekordów, które mają takie same wartości pól.
  • Warunek HAVING służy do określenia kryteriów podczas pracy ze słowem kluczowym GROUP BY.
  • ORDER BY służy do określania kolejności sortowania zestawu wyników.

*

Symbol gwiazdy służy do zaznaczania wszystkich kolumn w tabeli. Przykład prostej instrukcji SELECT wygląda tak, jak pokazano poniżej.

SELECT * FROM `members`;

Powyższa instrukcja wybiera wszystkie pola z tabeli prętów. Średnik oznacza zakończenie instrukcji. Zakończenie takich wypowiedzi nie jest obowiązkowe, ale uważane jest za dobrą praktykę.

Praktyczne przykłady

Kliknij, aby pobrać bazę danych myflix używaną do praktycznych przykładów.

Możesz nauczyć się importować plik .sql do MySQL WorkBench

Przykłady przedstawiono na poniższych dwóch tabelach

Tabela 1: tabela członków

numer_ członkostwa pełne nazwy płeć Data urodzenia adres fizyczny adres pocztowy contct_ number e-mail
1 Janet Jones Płeć żeńska 21-07-1980 Działka nr 4 przy pierwszej ulicy Prywatna torba 0759 253 542, Ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie obsługi JavaScript.
2 Janet Smith Jones Płeć żeńska 23-06-1980 Melrose 123 ZERO ZERO Ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie obsługi JavaScript.
3 Robert Phil Męski 12-07-1989 Ul. 3rd Street 34 ZERO 12345 Ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie obsługi JavaScript.
4 Gloria Williams Płeć żeńska 14-02-1984 2nd Street 23 ZERO ZERO ZERO

Tabela 2: tabela filmów

movie_id tytuł dyrektor year_released category_id
1 Piraci z Karaibów 4 Rob Marshall 2011 1
2 Zapominając o Sarah Marshal Nicholas Stoller 2008 2
3 X Men ZERO 2008 ZERO
4 Nazwa kodowa Czarny Edgar Jimz 2010 ZERO
5 Dziewczynki tatusia ZERO 2007 8
6 Anioły i demony ZERO 2007 6
7 Kod da vinci ZERO 2007 6
9 Kochani księżycowcy John Schultz 2005 8
16 67% winny ZERO 2012 ZERO

Pobieranie listy członków

Załóżmy, że chcemy pobrać listę wszystkich zarejestrowanych członków biblioteki z naszej bazy danych, użylibyśmy do tego poniższego skryptu.

SELECT * FROM `members`;

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

numer_ członkostwa pełne nazwy płeć Data urodzenia adres fizyczny adres pocztowy contct_ number e-mail
1 Janet Jones Płeć żeńska 21-07-1980 Działka nr 4 przy pierwszej ulicy Prywatna torba 0759 253 542, Ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie obsługi JavaScript.
2 Janet Smith Jones Płeć żeńska 23-06-1980 Melrose 123 ZERO ZERO Ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie obsługi JavaScript.
3 Robert Phil Męski 12-07-1989 Ul. 3rd Street 34 ZERO 12345 Ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie obsługi JavaScript.
4 Gloria Williams Płeć żeńska 14-02-1984 2nd Street 23 ZERO ZERO ZERO

Nasze powyższe zapytanie zwróciło wszystkie wiersze i kolumny z tabeli elementów członkowskich.

Powiedzmy, że jesteśmy zainteresowani tylko pełnymi nazwami, płcią, adresem fizycznym i adresami e-mail. Poniższy skrypt pomoże nam to osiągnąć.

SELECT `full_names`,`gender`,`physical_address`, `email` FROM `members`;

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

pełne nazwy płeć adres fizyczny e-mail
Janet Jones Płeć żeńska Działka nr 4 przy pierwszej ulicy Ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie obsługi JavaScript.
Janet Smith Jones Płeć żeńska Melrose 123 Ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie obsługi JavaScript.
Robert Phil Męski Ul. 3rd Street 34 Ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie obsługi JavaScript.
Gloria Williams Płeć żeńska 2nd Street 23 ZERO

Pobieranie listy filmów

Pamiętaj, że w naszej powyższej dyskusji wspominamy o wyrażeniach użytych w instrukcjach SELECT. Powiedzmy, że chcemy pobrać listę filmów z naszej bazy danych. Chcemy mieć tytuł filmu i nazwisko reżysera w jednym polu. Nazwisko reżysera powinno być w nawiasach. Chcemy również uzyskać rok, w którym film został wydany. Poniższy skrypt pomaga nam to zrobić.

SELECT Concat(`title`, ' (', `director`, ')') , `year_released` FROM `movies`;

TUTAJ

  • Używana jest funkcja Concat () MySQL, łącząca wartości kolumn ze sobą.
  • Linia "Concat (` title`, '(', `director`, ')') otrzymuje tytuł, dodaje nawias otwierający, po którym następuje nazwisko reżysera, a następnie dodaje nawias zamykający.

Fragmenty ciągów są oddzielane przecinkami w funkcji Concat ().

Wykonanie powyższego skryptu w środowisku roboczym MySQL daje następujący zestaw wyników.

Concat (`tytuł`,` (', `reżyser`,') ') year_released
Piraci z Karaibów 4 (Rob Marshall) 2011
Zapominając o Sarah Marshal (Nicholas Stoller) 2008
ZERO 2008
Nazwa kodowa Czarny (Edgar Jimz) 2010
ZERO 2007
ZERO 2007
ZERO 2007
Honey Mooners (John Schultz) 2005
ZERO 2012

Nazwy pól aliasów

Powyższy przykład zwrócił kod konkatenacji jako nazwę pola dla naszych wyników. Załóżmy, że w naszym zestawie wyników chcemy użyć bardziej opisowej nazwy pola. Aby to osiągnąć, użylibyśmy nazwy aliasu kolumny. Poniżej przedstawiono podstawową składnię nazwy aliasu kolumny

SELECT `column_name|value|expression` [AS] `alias_name`;

TUTAJ

  • „SELECT” nazwa_kolumny | wartość | wyrażenie „” to zwykła instrukcja SELECT, która może być nazwą kolumny, wartością lub wyrażeniem.
  • „[AS]” jest opcjonalnym słowem kluczowym przed nazwą aliasu oznaczającą wyrażenie, wartość lub nazwę pola zostaną zwrócone jako.
  • „alias_name” to nazwa aliasu, którą chcemy zwrócić w naszym zestawie wyników jako nazwę pola.

Powyższe zapytanie z bardziej zrozumiałą nazwą kolumny

SELECT Concat(`title`, ' (', `director`, ')') AS 'Concat', `year_released` FROM `movies`;

Otrzymujemy następujący wynik

Concat year_released
Piraci z Karaibów 4 (Rob Marshall) 2011
Zapominając o Sarah Marshal (Nicholas Stoller) 2008
ZERO 2008
Nazwa kodowa Czarny (Edgar Jimz) 2010
ZERO 2007
ZERO 2007
ZERO 2007
Honey Mooners (John Schultz) 2005
ZERO 2012

Pobieranie listy członków z datą urodzenia

Załóżmy, że chcemy uzyskać listę wszystkich członków zawierającą numer członkostwa, imiona i nazwiska oraz rok urodzenia, możemy użyć funkcji LEWY napis, aby wyodrębnić rok urodzenia z pola daty urodzenia. Poniższy skrypt pomaga nam to zrobić.

SELECT `membership_number`,`full_names`,LEFT(`date_of_birth`,4) AS `year_of_birth` FROM members;

TUTAJ

  • „LEFT („ date_of_birth ”, 4)” funkcja LEFT string akceptuje datę urodzenia jako parametr i zwraca tylko 4 znaki od lewej.
  • „AS„ rok_urodzin ” to alias kolumny, który zostanie zwrócony w naszych wynikach. Zauważ, że słowo kluczowe AS jest opcjonalne , możesz je pominąć, a zapytanie będzie nadal działać.

Wykonanie powyższego zapytania w środowisku MySQL względem myflixdb daje nam wyniki pokazane poniżej.

numer_członkostwa pełne nazwy rok urodzenia
1 Janet Jones 1980
2 Janet Smith Jones 1980
3 Robert Phil 1989
4 Gloria Williams 1984

SQL przy użyciu MySQL Workbench

Zamierzamy teraz użyć Środowiska pracy MySQL do wygenerowania skryptu, który wyświetli wszystkie nazwy pól z naszej tabeli kategorii.

1. Kliknij prawym przyciskiem myszy tabelę kategorii. Kliknij „Wybierz wiersze - Limit 1000”

2. Środowisko pracy MySQL automatycznie utworzy zapytanie SQL i wklei je do edytora.

3. Wyniki zapytania zostaną wyświetlone

Zauważ, że sami nie napisaliśmy instrukcji SELECT. Środowisko pracy MySQL wygenerowało go dla nas.

Po co używać polecenia SELECT SQL, skoro mamy MySQL Workbench?

Teraz możesz się zastanawiać, po co uczyć się polecenia SQL SELECT w celu wykonywania zapytań o dane z bazy danych, skoro możesz po prostu użyć narzędzia, takiego jak Środowisko pracy MySQL, aby uzyskać te same wyniki bez znajomości języka SQL. Oczywiście jest to możliwe, ale nauka korzystania z polecenia SELECT zapewnia większą elastyczność i kontrolę nad instrukcjami SQL SELECT .

Środowisko pracy MySQL należy do kategorii narzędzi QBE " Zapytanie na podstawie przykładu ". Ma na celu przyspieszenie generowania instrukcji SQL i zwiększenie produktywności użytkownika.

Poznanie polecenia SQL SELECT umożliwia tworzenie złożonych zapytań , których nie można łatwo wygenerować za pomocą narzędzi Query by Example, takich jak Środowisko pracy MySQL.

Aby zwiększyć produktywność, możesz wygenerować kod za pomocą środowiska roboczego MySQL, a następnie dostosować go do swoich wymagań . Może się to zdarzyć tylko wtedy, gdy rozumiesz, jak działają instrukcje SQL!

Podsumowanie

  • Słowo kluczowe SQL SELECT służy do wykonywania zapytań o dane z bazy danych i jest to najczęściej używane polecenie.
  • Najprostsza forma ma składnię „SELECT * FROM tableName;”
  • Wyrażeń można również używać w instrukcji select. Przykład „WYBIERZ ilość + cena ze sprzedaży”
  • Polecenie SQL SELECT może mieć również inne opcjonalne parametry, takie jak WHERE, GROUP BY, HAVING, ORDER BY. Zostaną omówione później.
  • Środowisko pracy MySQL może pomóc w tworzeniu instrukcji SQL, wykonywaniu ich i generowaniu wyników w tym samym oknie.