Wprowadzenie do zapytań MySQL
Istnieje wiele rodzajów poleceń SQL, które można podzielić na następujące kategorie:
- DDL (język definicji danych)
- DML (język manipulacji danymi)
- DQL (język zapytań danych)
- DCL (język kontroli danych)
- TCL (język kontroli transakcji)
W tym artykule zapytań MySQL. Omówimy głównie DQL, który jest „Data Query Language”. Jest to odtwarzane, gdy próbujemy pobrać rekordy z bazy danych i zaczyna się od polecenia „SELECT”. Oprócz tego omówimy również krótkie znaczenie innych kategorii.
Rodzaje zapytań MySQL
Oto 5 rodzajów zapytań:
DDL
Kiedy wykonujemy jakiekolwiek zmiany w strukturze fizycznej tabeli w bazie danych, potrzebujemy poleceń DDL. Do tej kategorii należą komendy CREATE, ALTER, RENAME, DROP, TRUNCATE itp. Tych poleceń nie można cofnąć.
1. UTWÓRZ: Służyło do tworzenia tabeli lub bazy danych.
Pytanie:
CREATE table employee;
2. ZMIANA: Służy do modyfikowania lub zmiany wartości w tabeli.
Pytanie:
ALTER TABLE table_name
ADD COLUMN col_name;
3. RENAME: Zmień nazwę tabeli lub nazwy bazy danych.
Pytanie:
ALTER TABLE table_name
RENAME COLUMN col_name TO new_col_name;
4. DROP: Usuwa rekordy tabeli, a także strukturę tabeli. Tego nie można przywrócić / cofnąć
Pytanie:
DROP TABLE IF EXISTS table_name;
5. TRUNCATE: Opróżnia tylko rekordy, pozostawia strukturę dla przyszłych rekordów.
Pytanie:
TRUNCATE TABLE employee;
DML
Jak widzimy nazwę Data Manipulation language, więc po utworzeniu tabel / bazy danych, aby manipulować czymś wewnątrz tych rzeczy, potrzebujemy poleceń DML. Zalety korzystania z tych poleceń polegają na tym, że jeśli wystąpią jakiekolwiek nieprawidłowe zmiany, możemy je wycofać / cofnąć.
1. WSTAW: Służy do wstawiania nowych wierszy do tabeli.
Pytanie:
INSERT into employee
Values(101, 'abcd');
2. USUŃ: Służy do usuwania pojedynczego wiersza lub całych rekordów w tabeli.
Pytanie:
DELETE TABLE employee;
3. AKTUALIZACJA: Służy do aktualizacji istniejących rekordów w tabeli.
Pytanie:
UPDATE employee
SET col1 = new_col
WHERE condition;
4. ŁĄCZENIE: Służy do scalania dwóch rzędów.
DCL
Zapewnia lub odwołuje dostęp użytkowników do bazy danych.
1. GRANT: Zapewnia dostęp do użytkowników
Pytanie:
GRANT CREATE table to user;
2. ODWOŁANIE: Odzyskaj dostęp od użytkowników
Pytanie:
REVOKE CREATE table from user;
TCL
Zarządza to problemami związanymi z transakcją w dowolnej bazie danych. Służy do wycofania lub zatwierdzenia w bazie danych.
1. ROLLBACK: Służy do anulowania lub cofnięcia zmian dokonanych w bazie danych
Pytanie:
ROLLBACK;
2. COMMIT: Służy do wdrażania zmian w bazie danych
Pytanie:
COMMIT;
DQL
Język zapytań danych składa się tylko z polecenia SELECT, za pomocą którego możemy pobierać i pobierać dane na podstawie określonych warunków. W tym poleceniu używanych jest wiele klauzul SQL do pobierania przefiltrowanych danych.
1. WYBIERZ: Służy do pobierania wszystkich rekordów z tabeli
Pytanie:
SELECT * FROM table;
2. DISTINCT: Służy do pobierania wszystkich unikalnych wartości z tabeli
Pytanie:
SELECT DISTINCT col_name FROM table;
3. GDZIE: Wykorzystano warunki wybaczania przy wyszukiwaniu zapisów
Pytanie:
SELECT employee_id FROM employee
WHERE name = 'stella';
4. LICZBA: Służy do uzyskania liczby rekordów obecnych w tabeli
Pytanie:
SELECT COUNT(*) FROM employee;
5. ORDER BY: Służy do sortowania zarówno wartości numerycznych, jak i łańcuchowych w sposób rosnący lub malejący. Ale domyślnie sortuje się w sposób rosnący. Jeśli chcemy schodzić w dół, musimy to określić po użyciu klauzuli ORDER BY.
Pytanie:
SELECT first_name FROM student
ORDER BY marks desc;
6. LIMIT: Służy do określania liczby rekordów, które chcemy wykonać po wykonaniu zapytania. Jeśli chcemy najlepszych 5 uczniów klasy, po posortowaniu wyników możemy użyć tego LIMITU, określając 5. Aby pobrał tylko 5 najlepszych rekordów.
Pytanie:
SELECT first_name FROM student
ORDER BY marks desc
LIMIT 5;
(** ORDER BY użyte tutaj do sortowania wartości w kolejności malejącej)
7. ORAZ: Jeśli podane są 2 warunki i oba są spełnione dla rekordu, tylko zapytanie pobierze te rekordy.
Pytanie:
SELECT employee_id FROM employee
WHERE name = 'stella' AND city = 'Bangalore';
8. LUB: Jeśli podane zostaną 2 warunki i jeden z nich zostanie spełniony, rekord zostanie pobrany.
Pytanie:
SELECT employee_id FROM employee
WHERE department = 'IT' OR city = 'Bangalore';
9. NOT: Używany z warunkami. Jeśli podamy NIE przed jakimikolwiek warunkami, rekordy niespełniające tych warunków zostaną pobrane.
Pytanie:
SELECT employee_id FROM employee
WHERE NOT BETWEEN 1 AND 10;
10. MIĘDZY: Ten operator wybiera rekordy w danym zakresie. Najczęściej używamy tego, gdy chcemy określić zakres dat.
Pytanie:
SELECT emp_id FROM employee
WHERE emp_id BETWEEN 1 AND 10;
Pytanie:
SELECT * FROM employee
WHERE join_date BETWEEN '2007-01-01' AND '2008-01-01';
11. IN: Ten operator pozwala nam określić wiele wartości w klauzuli WHERE.
Pytanie:
SELECT * FROM employee
WHERE employee_id IN (1001, 1004, 1008, 1012);
12. JAK: Ten operator jest używany z klauzulą WHERE do wyszukiwania określonego wzorca w kolumnie zawierającej ciąg. „A%” - ciąg zaczyna się od A
- „& A”: kończy się na A
- „% A%”: A będzie pomiędzy ciągiem
- „_A%”: tutaj drugą literą będzie A
- „% A_”: 2. miejsce od ostatniej litery będzie A
Pytanie:
SELECT first_name FROM table
WHERE first_name LIKE 'A%';
13. SUBSTRING: Służy do wybierania określonego znaku z łańcucha przez określenie pozycji
Pytanie:
SELECT SUBSTRING(customer_name, 1, 5) FROM customer_table;
(pobierze znak z 1. do 5. pozycji ciągu)
14. INSTR: Zwraca pozycję ciągu w innym ciągu
Pytanie:
SELECT INSTR('independence', 'pen');
(znajdzie pozycję „długopis” w słowie „niezależność”)
15. GROUP BY: Służy do segregowania rekordów na podstawie określonych warunków
Pytanie:
SELECT employee_id FROM employee GROUP BY department HAVING salary > 100000;
(Tutaj pogrupuj według posegregowanych pracowników według ich działu i pensji przekraczającej 100 tys.
Warunek zawsze zawiera instrukcję HAVING w klauzuli GROUP BY).
Funkcja zagregowana
16. SUMA: Oblicza sumę wartości
Pytanie:
SELECT SUM(salary) FROM employee;
17. AVG: Oblicza średnią zestawu wartości
Pytanie:
SELECT AVG(salary) FROM employee;
18. MIN: Pobiera minimalną wartość z zestawu wartości
Pytanie:
SELECT MIN(salary) FROM employee;
19. MAX: Pobiera maksymalną wartość z zestawu wartości
Pytanie:
SELECT MAX(salary) FROM employee;
Łączy się
20. ŁĄCZENIE WEWNĘTRZNE: Zwraca rekordy, które mają pasującą wartość w obu tabelach
Pytanie:
SELECT * FROM order
INNER JOIN customer
ON order.cust_id = customer.cust_id;
21. LEFT JOIN: Zwraca wszystkie rekordy z lewej tabeli i dopasowane rekordy z prawej tabeli
Pytanie:
SELECT * FROM order
LEFT JOIN customer
ON order.cust_id = customer.cust_id;
22. RIGHT JOIN: Zwraca wszystkie rekordy z prawej tabeli i dopasowane rekordy z lewej tabeli
Pytanie:
SELECT * FROM order
RIGHT JOIN customer
ON order.cust_id = customer.cust_id;
23. FULL OUTER JOIN: Zwraca wszystkie rekordy, gdy występuje dopasowanie w lewej lub prawej tabeli
Pytanie:
SELECT * FROM order
FULL OUTER JOIN customer
ON order.cust_id = customer.cust_id;
Wniosek
Te polecenia i klauzule, które omówiliśmy powyżej, są bardzo przydatne w scenariuszach w czasie rzeczywistym, ponieważ zapewniają podstawowe pojęcia dotyczące korzystania z zapytań SQL do pobierania i manipulowania danymi w bazie danych. Oprócz tego, podczas korzystania z zaawansowanych zapytań analitycznych, takich jak funkcja okna itp., Te klauzule są bardzo ważne.
Polecane artykuły
Jest to przewodnik po zapytaniach MySQL. Tutaj omawiamy typy zapytań w MySQL, które obejmują DDL, DML, DQL i DCL, TCL. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -
- Funkcje symboli wieloznacznych w MySQL
- MySQL vs MySQLi
- Co to jest baza danych MySQL
- Co to jest MySQL Server?
- Funkcja sortowania w Pythonie z przykładami
- Zaimplementuj polecenie Insert w MySQL z przykładami
- Wewnętrzne dołączenie w Oracle | Poznaj 6 najlepszych przykładów zapytań
- Różne przykłady INSERT w Oracle