Ú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 -
- Funkce zástupných znaků v MySQL
- MySQL vs MySQLi
- Co je MySQL databáze
- Co je MySQL Server?
- Funkce třídění v Pythonu s příklady
- Implementovat příkaz Vložit do MySQL s příklady
- Vnitřní připojení k Oracle | Naučte se Top 6 příkladů dotazů
- Různé příklady INSERT v Oracle