Úvod do MySQL dotazů

Existuje mnoho druhů příkazů SQL, které lze rozdělit do následujících kategorií:

  • DDL (jazyk pro definici dat)
  • DML (jazyk pro manipulaci s daty)
  • DQL (jazyk datového dotazu)
  • DCL (jazyk pro kontrolu dat)
  • TCL (Transaction control language)

V tomto článku MySQL dotazů. Budeme diskutovat hlavně do DQL, což je „Data Query Language“. To se spustí, když se pokusíme načíst záznamy z databáze a začíná to příkazem „VYBRAT“. Kromě toho probereme i krátký význam dalších kategorií.

Typy MySQL dotazů

Následuje 5 typů dotazů:

DDL

Když provedeme jakékoli změny s fyzickou strukturou tabulky v databázi, potřebujeme příkazy DDL. Příkazy CREATE, ALTER, RENAME, DROP, TRUNCATE atd. Spadají do této kategorie. Tyto příkazy nelze vrátit zpět.

1. VYTVOŘIT: Používá se k vytvoření tabulky nebo databáze.

Dotaz:

CREATE table employee;

2. ALTER: Používá se pro úpravu nebo změnu hodnot v tabulce.

Dotaz:

ALTER TABLE table_name
ADD COLUMN col_name;

3. RENAME: Přejmenujte název tabulky nebo databáze.

Dotaz:

ALTER TABLE table_name
RENAME COLUMN col_name TO new_col_name;

4. DROP: Tímto se odstraní záznamy tabulky i struktura tabulky. Toto nelze vrátit zpět / vrátit zpět

Dotaz:

DROP TABLE IF EXISTS table_name;

5. TRUNCATE: Toto vyprázdní pouze záznamy a ponechá strukturu pro budoucí záznamy.

Dotaz:

TRUNCATE TABLE employee;

DML

Jak vidíme název Jazyk manipulace s daty, tak jakmile jsou vytvořeny tabulky / databáze, abychom mohli s něčím manipulovat, potřebujeme příkazy DML. Výhodou použití těchto příkazů je, že pokud dojde ke špatným změnám, můžeme je vrátit / vrátit zpět.

1. VLOŽIT: Slouží k vložení nových řádků do tabulky.

Dotaz:

INSERT into employee
Values(101, 'abcd');

2. DELETE: Používá se k odstranění jednoho řádku nebo celých záznamů v tabulce.

Dotaz:

DELETE TABLE employee;

3. AKTUALIZACE: Slouží k aktualizaci existujících záznamů v tabulce.

Dotaz:

UPDATE employee
SET col1 = new_col
WHERE condition;

4. MERGE: Používá se ke sloučení dvou řádků.

DCL

Uděluje nebo ruší přístup uživatelů k databázi.

1. GRANT: Poskytuje přístup uživatelům

Dotaz:

GRANT CREATE table to user;

2. REVOKE: Vezměte přístup zpět od uživatelů

Dotaz:

REVOKE CREATE table from user;

TCL

Tím se řídí problémy související s transakcí v jakékoli databázi. Slouží k vrácení nebo potvrzení v databázi.

1. ROLLBACK: Používá se ke zrušení nebo zrušení změn provedených v databázi

Dotaz:

ROLLBACK;

2. COMMIT: Používá se k zavedení změn v databázi

Dotaz:

COMMIT;

DQL

Jazyk datových dotazů se skládá pouze z příkazu SELECT, pomocí kterého můžeme načíst a načíst data na základě určitých podmínek. S tímto příkazem se používá mnoho klauzulí SQL pro vyhledávání filtrovaných dat.

1. VÝBĚR: Slouží k načtení všech záznamů z tabulky

Dotaz:

SELECT * FROM table;

2. DISTINCT: Slouží k načtení všech jedinečných hodnot z tabulky

Dotaz:

SELECT DISTINCT col_name FROM table;

3. KDE: Použité podmínky odpuštění při získávání záznamů

Dotaz:

SELECT employee_id FROM employee
WHERE name = 'stella';

4. COUNT: Slouží k získání počtu záznamů přítomných v tabulce

Dotaz:

SELECT COUNT(*) FROM employee;

5. OBJEDNÁVKA: Používá se k třídění číselných i řetězcových hodnot vzestupně nebo sestupně. Ve výchozím nastavení se však třídí vzestupně. Pokud chceme sestupně, musíme to určit po použití klauzule ORDER BY.

Dotaz:

SELECT first_name FROM student
ORDER BY marks desc;

6. LIMIT: Slouží ke stanovení počtu záznamů, které chceme po provedení dotazu. Pokud chceme pět nejlepších studentů ve třídě, pak po třídění výsledků můžeme použít tento LIMIT zadáním 5. Aby bylo možné načíst pouze 5 nejlepších záznamů.

Dotaz:

SELECT first_name FROM student
ORDER BY marks desc
LIMIT 5;

(** zde se používá OBJEDNÁVKA pro třídění hodnot v sestupném pořadí)

7. AND: Jsou-li pro záznam zadány 2 podmínky a obě jsou splněny, pak tyto záznamy načte pouze dotaz.

Dotaz:

SELECT employee_id FROM employee
WHERE name = 'stella' AND city = 'Bangalore';

8. NEBO: Jsou-li pro záznam zadány 2 podmínky a jedna z nich je splněna, bude tento záznam vyvolán.

Dotaz:

SELECT employee_id FROM employee
WHERE department = 'IT' OR city = 'Bangalore';

9. NOT: Používá se s podmínkami. Pokud určíme NE před jakýmikoli podmínkami, budou načteny záznamy, které nesplňují dané podmínky.

Dotaz:

SELECT employee_id FROM employee
WHERE NOT BETWEEN 1 AND 10;

10. MEZI: Tento operátor vybere záznamy v daném rozsahu. Většinou to používáme tam, kde chceme určit rozsah dat.

Dotaz:

SELECT emp_id FROM employee
WHERE emp_id BETWEEN 1 AND 10;

Dotaz:

SELECT * FROM employee
WHERE join_date BETWEEN '2007-01-01' AND '2008-01-01';

11. IN: Tento operátor nám umožňuje určit více hodnot v klauzuli WHERE.

Dotaz:

SELECT * FROM employee
WHERE employee_id IN (1001, 1004, 1008, 1012);

12. LIKE: Tento operátor se používá s klauzulí WHERE k vyhledání zadaného vzoru ve sloupci obsahujícím řetězec. 'A%' - řetězec začíná písmenem A

  • '& A': končí A
  • '% A%': A bude mezi řetězcem
  • '_A%': Zde bude druhé písmeno A
  • '% A_': Druhý z posledního dopisu bude A

Dotaz:

SELECT first_name FROM table
WHERE first_name LIKE 'A%';

13. SUBSTRING: Slouží k výběru konkrétního znaku z řetězce zadáním pozice

Dotaz:

SELECT SUBSTRING(customer_name, 1, 5) FROM customer_table;

(načte znak z 1. až 5. pozice řetězce)

14. INSTR: Vrací pozici řetězce v jiném řetězci

Dotaz:

SELECT INSTR('independence', 'pen');

(najde slovo „pero“ ve slově „nezávislost“)

15. GROUP BY: Používá se k oddělení záznamů na základě určitých daných podmínek

Dotaz:

SELECT employee_id FROM employee GROUP BY department HAVING salary > 100000;

(Zde se seskupte podle segregovaných zaměstnanců na základě jejich oddělení a jejichž plat je vyšší než 100 tisíc.
Podmínka vždy přichází s příkazem HAVING v klauzuli GROUP BY.)

Agregovaná funkce

16. SUM: Vypočítá součet hodnot

Dotaz:

SELECT SUM(salary) FROM employee;

17. AVG: Vypočítá průměr sady hodnot

Dotaz:

SELECT AVG(salary) FROM employee;

18. MIN: Získá minimální hodnotu v sadě hodnot

Dotaz:

SELECT MIN(salary) FROM employee;

19. MAX: Získá maximální hodnotu v sadě hodnot

Dotaz:

SELECT MAX(salary) FROM employee;

Připojí se

20. INNER JOIN: Vrací záznamy, které mají shodnou hodnotu v obou tabulkách

Dotaz:

SELECT * FROM order
INNER JOIN customer
ON order.cust_id = customer.cust_id;

21. LEFT JOIN: Vrací všechny záznamy z levé tabulky a odpovídající záznamy z pravé tabulky

Dotaz:

SELECT * FROM order
LEFT JOIN customer
ON order.cust_id = customer.cust_id;

22. PRAVÝ PŘIPOJENÍ: Vrací všechny záznamy z pravé tabulky a odpovídající záznamy z levé tabulky

Dotaz:

SELECT * FROM order
RIGHT JOIN customer
ON order.cust_id = customer.cust_id;

23. FULL OUTER JOIN: Vrací všechny záznamy, pokud existuje shoda v levé nebo pravé tabulce

Dotaz:

SELECT * FROM order
FULL OUTER JOIN customer
ON order.cust_id = customer.cust_id;

Závěr

Tyto příkazy a klauzule, o nichž jsme hovořili výše, jsou velmi užitečné v scénářích v reálném čase, protože poskytují základní pojmy o tom, jak používat SQL dotazy k načtení a manipulaci s daty v databázi. Kromě toho, při použití předem a analytických dotazů, jako je funkce okna atd., Jsou tyto doložky velmi důležité.

Doporučené články

Toto je průvodce MySQL dotazy. Zde diskutujeme typy dotazů v MySQL, které zahrnují DDL, DML, DQL a DCL, TCL. Další informace naleznete také v dalších navrhovaných článcích -

  1. Funkce zástupných znaků v MySQL
  2. MySQL vs MySQLi
  3. Co je MySQL databáze
  4. Co je MySQL Server?
  5. Funkce třídění v Pythonu s příklady
  6. Implementovat příkaz Vložit do MySQL s příklady
  7. Vnitřní připojení k Oracle | Naučte se Top 6 příkladů dotazů
  8. Různé příklady INSERT v Oracle