logo

SQL příkaz DELETE

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.

z' title=

Dotaz:



java indexof
DELETE FROM Employees  
WHERE EmployeeID = 5;

výstup:

Deleted-row-' loading='lazy' title=
  • 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_Employees

parciální derivace symbol latex

výstup:

GFG_employee' loading='lazy' title=

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:

smazané-info' loading='lazy' title=

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

oddělení' loading='lazy' title=

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:

prázdný' loading='lazy' title=

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