Zapytania MySQL są zwykle napisane raz, a następnie opakowane w funkcje klasowe, aby zminimalizować powtarzanie kodu. W tym artykule wymieniono 10 zapytań najczęściej używanych w MySQL.
Zapytanie jest zasadniczo żądaniem pobrania informacji z tabeli bazy danych lub kombinacji tabel. Istnieje wiele języków zapytań, które można napisać w celu wykonania szeregu zapytań od prostych do złożonych. Zapytania będą filtrować określone kryteria na podstawie określonych danych, które mają znaleźć. Może również automatyzować zadania związane z zarządzaniem danymi i angażować się w obliczenia. W tym przewodniku omówiono 10 najczęstszych zapytań MySQL.
Użyjmy tych demonstracyjnych baz danych, aby lepiej zrozumieć, jak działa każde zapytanie.
Identyfikator pracownika | Nazwa | Tytuł |
---|---|---|
1002 | Webster W. | Kierownictwo |
1003 | Lizzy S. | Menedżer |
1004 | Oliver T. | Inżynier oprogramowania |
Identyfikator pracownika | Dział | Wiek |
---|---|---|
1002 | Kadry | 36 |
1003 | Sprzedaż | 21 |
1004 | IT | 39 |
WYBIERZ wszystko
Proste zapytanie SELECT służy do pobierania i odsyłania wszystkich danych pochodzących z bazy danych. Jego składnię można zapisać jako taką;
Kod:
SELECT * FROM Employees;
Wynik:
1002 Webster W. Executive 1003 Lizzy S. Manager 1004 Oliver T. Software Engineer
W celu wybrania wszystkich kolumn dostępnych w tabeli należy użyć znaku „*”, aby wskazać, że potrzebne są zwrócone wszystkie możliwe informacje. Po drugie, podaj słowo kluczowe FROM, aby otrzymać dane z tabeli bazy danych. Na koniec zawsze pamiętaj, aby zakończyć oświadczenie średnikiem „;” aby poprawnie wypełnić żądanie.
WYBIERZ kolumnę
Aby uzyskać dane z określonych kolumn, a nie ze wszystkich, wystarczy podać nazwę pola zamiast używać gwiazdki(*).
Kod:
SELECT Title FROM Employees;
Wynik:
Title Executive Manager Software Engineer
Przy wyborze wielu kolumn z bazy danych należy je oddzielić przecinkiem. Tak jak;
SELECT Title, Name FROM Employees;
klauzula GDZIE
Podczas korzystania z klauzuli WHERE w zapytaniu SELECT rekordy danych zostaną przefiltrowane, a następnie wyodrębnione rekordy, które pasują do warunków jako wyniku.
Kod:
SELECT * FROM Employees WHERE EmployeeID = 1004 ;
Wyniki:
1004 Oliver T. Software Engineer
Klauzula WHERE może mieć więcej niż jeden warunek, który można oddzielić za pomocą słowa kluczowego AND.
UTWÓRZ tabelę
To zapytanie może zostać użyte do wygenerowania nowej tabeli z preferowanym przez Ciebie wyborem kolumn. Podczas dodawania nazw kolumn pamiętaj o określeniu ich typu danych.
Kod:
CREATE TABLE EmployeeInfo ( EmployeeId INT, Department VARCHAR(25), Age NUMBER );
Oczekiwane wyniki tabeli:
EmployeeID | Department | Department |
NULL | NULL | NULL |
Po uruchomieniu polecenia CREATE TABLE i wypełnieniu go tytułami kolumn, powyższe zapytanie tworzy w bazie danych tabelę „EmployeeInfo”. Zasadniczo każda kolumna zwróci NULL, ponieważ nie wstawiliśmy żadnej określonej wartości. To prowadzi nas do naszego następnego zapytania, INSERT INTO.
WSTAW DO ZAPYTANIA
Jest to najczęstsze zapytanie służące do wstawiania wartości do jednego lub większej liczby wierszy nowych rekordów w tabeli. Jesteśmy w stanie wypełnić tabelę EmployeeInfo przykładowymi danymi;
Kod:
INSERT INTO EmployeeInfo (EmployeeID,Department,Age) VALUES (1002, HR , 46), (1003, Finance , 28), (1004, IT , 39);
Wyniki tabeli:
Informacje o pracownikach
EmployeeID | Department | Age |
1002 | HR | 46 |
1003 | Finance | 28 |
1004 | IT | 39 |
Podczas pisania zapytania INSERT INTO polecenie VALUES musi być częścią kompletnej instrukcji.
AKTUALIZUJ zapytanie
To słowo kluczowe służy do zmiany jednej lub kilku istniejących kolumn w tabeli. Użycie tego zapytania spowoduje zaktualizowanie rekordów tabeli o nowe dane na podstawie pewnych warunków.
Informacje o pracownikach
EmployeeID | Department | Age |
1002 | HR | 36 |
1003 | Sales | 21 |
1004 | IT | 39 |
Kod:
UPDATE EmployeeInfo SET Age = 22 WHERE EmployeeID = 1003;
Wyniki tabeli:
Informacje o pracownikach
EmployeeID | Department | Age |
1002 | HR | 36 |
1003 | Sales | 22 |
1004 | IT | 39 |
Po wykonaniu polecenia UPDATE użyj słowa kluczowego SET, aby zawsze określać, które kolumny chcesz zmodyfikować, a następnie dokładnie określ GDZIE chcesz zastosować zaktualizowane dane.
USUŃ Z zapytania
Aby usunąć rekordy z tabeli na podstawie jednego lub wielu warunków, musisz użyć instrukcji DELETE FROM. W przypadku korzystania z warunków ogranicza liczbę wierszy, których dotyczy zapytanie.
Kod:
DELETE FROM Employees WHERE Name = ‘Lizzy’;
Wyniki tabeli:
Pracownicy
EmployeeID | Name | Title |
1002 | Webster W. | Executive |
1004 | Oliver T. | Software Engineer |
Jak wcześniej omówiono w artykule; użycie warunku WHERE określa dokładnie, gdzie żądasz odfiltrowania i wykonania danych. To zapytanie ma na celu usunięcie każdego rekordu z tabeli pracowników, który pasuje do nazwy „Lizzy”.
Korzystanie z funkcji GROUP BY, POSIADAJĄC klauzulę
Klauzula GROUP BY jest najczęściej używana w przypadku funkcji agregujących. Użycie tego słowa kluczowego spowoduje zgrupowanie zestawu wyników według jednej lub więcej kolumn.
Słowo kluczowe HAVING służy do filtrowania tego zestawu wyników. Najlepiej byłoby pomyśleć, że zamiast tego zostanie wprowadzona klauzula WHERE, jednak klauzula HAVING wprowadza warunek agregacji.
Informacje o pracownikach
EmployeeID | Department | Age |
1002 | HR | 36 |
1003 | Sales | 21 |
1004 | IT | 39 |
Kod:
SELECT COUNT(Age), EmployeeID FROM EmployeeInfo GROUP BY EmployeeID HAVING COUNT(Age) > 21;
Wyniki:
COUNT(Age) EmployeeID 39 1004 36 1002
Funkcje agregujące (SUM, AVG i COUNT)
Istnieją trzy niezwykle popularne funkcje agregujące, które umożliwiają interpretację danych z tabeli lub wykonywanie obliczeń.
- LICZBA:zwraca liczbę wierszy pasujących do określonej kolumny.
- AVG: zwraca średnią wartość kolumny
- SUM:zwraca sumę wszystkich wartości w wybranej kolumnie.
Informacje o pracowniku
Identyfikator pracownika | Dział | Wiek |
1002 | Kadry | 36 |
1003 | Sprzedaż | 21 |
1004 | IT | 39 |
Kod dla COUNT:
SELECT COUNT(Department) FROM EmployeeInfo;
Wyniki:
COUNT(Department): 3
Kod dla AVG:
SELECT AVG(Age) FROM EmployeeInfo;
Wyniki:
AVG(Age): 32
Kod na SUM
SELECT SUM(Age) FROM EmployeeInfo;
Wyniki:
SUM(Age): 96
DOŁĄCZENIA
Sprzężenia służą do łączenia wierszy z co najmniej dwóch tabel na podstawie powiązanej kolumny między tabelami. Najczęstsze połączenia praktykowane to INNER, FULL i LEFT.
- INNER Join – łączy wiersze z różnych tabel, jeśli warunek połączenia jest spełniony.
- FULL Join – zwraca wszystkie wiersze, gdy istnieje dopasowanie w rekordach lewej lub prawej tabeli.
- LEFT Join – pobiera wszystkie wiersze z lewej tabeli i pasujące rekordy z prawej tabeli.
Pracownicy – Tabela nr 1 (po lewej)
Identyfikator pracownika | Nazwa | Tytuł |
1002 | Webster W. | Kierownictwo |
1003 | Lizzy S. | Menedżer |
1004 | Oliver T. | Inżynier oprogramowania |
Informacje o pracowniku — tabela nr 2 (po prawej)
Identyfikator pracownika | Dział | Wiek |
1002 | Kadry | 36 |
1003 | Sprzedaż | 21 |
1004 | IT | 39 |
WEWNĘTRZNY KOD DOŁĄCZENIA:
SELECT Employees.Title, EmployeeInfo.Department FROM Employees INNER JOIN EmployeeInfo ON Employees.EmployeeID = Employees.EmployeeID;
Wyniki:
Title Department Executive HR Manager Sales Software Engineer IT
PEŁNY kod JOIN:
SELECT * FROM Employees FULL JOIN EmployeeInfo ON Employees.EmployeeID = Employees.EmployeeID;
Wyniki:
Przechwyci wszystkie wiersze i kolumny z obu tabel, w tym duplikaty, i połączy je w jedną całą tabelę.
LEWY KOD DOŁĄCZENIA:
SELECT Employees.Name, EmployeeInfo.Age FROM Employees LEFT JOIN EmployeeInfo ON Employees.EmployeeID = Employees.EmployeeID;
Wyniki:
Name Age Webster W. 36 Lizzy S. 21 Oliver T. 39
Kolumna „Identyfikator pracownika” w tabeli „Identyfikator pracownika” odnosi się do „Identyfikatora pracownika” w tabeli „Informacja o pracowniku”, zasadniczo stwierdzając, że kolumna Identyfikator pracownika jest relacją między obiema tabelami. Sprzężenia mogą być trudne, ale jednocześnie niezwykle przydatne podczas sortowania w większej bazie danych.
Użytkownik i baza danych są w stanie skutecznie wymieniać informacje, mówiąc zasadniczo tym samym językiem. Wymienione powyżej zapytania są najczęściej używane zarówno przez początkujących, jak i ekspertów. Pisanie zapytań MySQL jest uważane za najczęstszą funkcję w dziedzinie zarządzania bazami danych.
Ten artykuł został sprawdzony i zaktualizowany w kwietniu 2022 r. przez Kelseya Perkinsa.