Příkaz SQL DELETE se používá k odstranění určitých řádků z tabulky při zachování struktury tabulky beze změny. Liší se od DROP, který smaže celou tabulku.
- Odstraňuje řádky na základě podmínek.
- Zachovává omezení schématu tabulky a indexy.
- Může odstranit jeden řádek nebo všechny řádky.
Příklad: Nejprve budeme vytvořit ukázkovou SQL databázi a tabulku, na které použijeme příkaz SQL DELETE.
Dotaz:
java indexof
DELETE FROM Employees
WHERE EmployeeID = 5;
výstup:
- Tento dotaz odstraní řádek z tabulky Zaměstnanci, kde má ČísloZaměstnance hodnotu 5.
- Je odstraněn pouze tento konkrétní záznam; všechny ostatní řádky zůstanou nezměněny.
Syntax:
DELETE FROM table_name
WHERE some_condition;
- Some_condition: Podmínka používaná k filtrování řádků, které chcete odstranit.
- název_tabulky: Název tabulky, ze které chcete odstranit řádky.
Poznámka: Můžeme odstranit jeden nebo více záznamů pomocí klauzule WHERE; pokud je vynechán, všechny záznamy v tabulce jsou odstraněny.
Příklady příkazu SQL DELETE
Předpokládejme, že jsme vytvořili tabulku s názvem GFG_Employee v SQL, která obsahuje osobní údaje zaměstnance včetně jeho identifikačního jména, e-mailu a oddělení atd., jak je uvedeno níže.
CREATE TABLE GFG_Employees (
id INT PRIMÁRNÍ KLÍČ
jméno VARCHAR (20)
email VARCHAR (25)
oddělení VARCHAR(20)
);
INSERT INTO GFG_Employees (ID jméno e-mailové oddělení) VALUES
(1 'Jessie' '[email protected]' 'Vývoj')
(2 'Praveen' '[email protected]' 'HR')
(3 'Can' '[email protected]' 'Prodej')
(4 'Rithvik' '[email protected]' 'IT')
(5 'Suraj' '[email protected]' 'Zajištění kvality')
(6 'Om' '[email protected]' 'IT')
(7 'Naruto' '[email protected]' 'Vývoj');
Vyberte * From GFG_Employeesparciální derivace symbol latex
výstup:
Příklad 1: Vymazání jednoho záznamu
K odstranění konkrétního řádku z tabulky můžeme použít příkaz DELETE s podmínkou. The KDE klauzule zajišťuje, že bude odstraněn pouze zamýšlený záznam. Záznamy s názvem Rithvik můžeme odstranit pomocí následujícího dotazu:
Dotaz:
DELETE FROM GFG_Employees
WHERE NAME = 'Rithvik';
výstup:
Příklad 2: Mazání více záznamů
Chcete-li odstranit více záznamů, můžete zadat podmínku, která odpovídá několika řádkům. Pojďme odstranit řádky z tabulky GFG_Employees, kde je oddělení „Vývoj“. Tím se odstraní 2 řádky (první řádek a sedmý řádek).
Dotaz:
DELETE FROM GFG_Employees
WHERE department = 'Development';
Výstup
Příklad 3: Odstranění všech záznamů z tabulky
Pokud potřebujeme odstranit všechny záznamy z tabulky, můžeme vynechat klauzuli WHERE nebo alternativně použít příkaz DELETE s hvězdičkou (*) k označení všech řádků.
Dotaz:
přidávání řetězců java
DELETE FROM GFG_Employees;
Or
DELETE * FROM GFG_Employees;
výstup:
Všechny záznamy v tabulce budou smazány, nezbývají žádné záznamy k zobrazení. Tabulka GFG_Employees bude prázdná.
Vrácení zpět operace DELETE
Vzhledem k tomu, že příkaz DELETE je operace DML, lze jej při provedení v příkazu vrátit zpět. Pokud omylem vymažete záznamy nebo potřebujete proces zopakovat, můžete použít NÁVRAT příkaz.
Dotaz:
START TRANSACTION;
DELETE FROM GFG_Employees WHERE department = 'Development';
-- If needed you can rollback the deletion
ROLLBACK;
Vysvětlení: Příkaz ROLLBACK vrátí zpět změny provedené příkazem DELETE a účinně obnoví záznamy, které byly během transakce odstraněny.
Vytvořit kvíz