Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Najczęstsze zapytania dotyczące MySQL

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę WYBRAĆ wiersze z MAX (wartość kolumny), PARTITION według innej kolumny w MYSQL?

  2. Jak zdecydować, kiedy użyć sprzężeń prawych/lewych, czy sprzężeń wewnętrznych? Albo jak określić, która tabela znajduje się po której stronie?

  3. Mysql - usuń z wielu tabel za pomocą jednego zapytania

  4. Zwiększenie wartości w zapytaniu o aktualizację MySQL

  5. MySQL i JDBC z rewriteBatchedStatements=true