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 -

  1. Funkcje symboli wieloznacznych w MySQL
  2. MySQL vs MySQLi
  3. Co to jest baza danych MySQL
  4. Co to jest MySQL Server?
  5. Funkcja sortowania w Pythonie z przykładami
  6. Zaimplementuj polecenie Insert w MySQL z przykładami
  7. Wewnętrzne dołączenie w Oracle | Poznaj 6 najlepszych przykładów zapytań
  8. Różne przykłady INSERT w Oracle