logo

SQL príkaz DELETE

Príkaz SQL DELETE sa používa na odstránenie konkrétnych riadkov z tabuľky pri zachovaní nedotknutej štruktúry tabuľky. Je to odlišné od DROP, ktoré vymaže celú tabuľku.

  • Odstraňuje riadky na základe podmienok.
  • Zachováva obmedzenia schém tabuľky a indexy.
  • Môže odstrániť jeden riadok alebo všetky riadky.

Príklad: Najprv budeme vytvoriť ukážkovú SQL databázu a tabuľku, na ktorej použijeme príkaz SQL DELETE.

z' title=

dotaz:



DELETE FROM Employees  
WHERE EmployeeID = 5;

výstup:

Deleted-row-' loading='lazy' title=
  • Tento dotaz vymaže riadok z tabuľky Zamestnanci, kde má ID zamestnanca hodnotu 5.
  • Odstráni sa iba tento konkrétny záznam; všetky ostatné riadky zostanú nezmenené.

Syntax:

DELETE FROM table_name   
WHERE some_condition;
  • Some_condition: Podmienka používaná na filtrovanie riadkov, ktoré chcete odstrániť.
  • table_name: Názov tabuľky, z ktorej chcete odstrániť riadky.

Poznámka: Pomocou klauzuly WHERE môžeme vymazať jeden alebo viacero záznamov; ak sa vynechá, všetky záznamy v tabuľke sa odstránia.

Príklady príkazu SQL DELETE

Predpokladajme, že sme vytvorili tabuľku s názvom GFG_Employee v SQL, ktorá obsahuje osobné údaje zamestnanca vrátane jeho identifikačného mena, e-mailu a oddelenia atď., ako je uvedené nižšie.

CREATE TABLE GFG_Employees (
id INT PRIMÁRNY KĽÚČ
meno VARCHAR (20)
email VARCHAR (25)
oddelenie VARCHAR(20)
);

INSERT INTO GFG_Employees (identifikátor e-mailového oddelenia) VALUES
(1 'Jessie' '[email protected]' 'Vývoj')
(2 'Praveen' '[email protected]' 'HR')
(3 'Can' '[email protected]' 'Predaj')
(4 'Rithvik' '[email protected]' 'IT')
(5 'Suraj' '[email protected]' 'Zabezpečenie kvality')
(6 'Om' '[email protected]' 'IT')
(7 'Naruto' '[email protected]' 'Vývoj');

Vyberte * From GFG_Employees

výstup:

GFG_employee' loading='lazy' title=

Príklad 1: Vymazanie jedného záznamu

Na odstránenie konkrétneho riadku z tabuľky môžeme použiť príkaz DELETE s podmienkou. The KDE doložka zabezpečuje, že sa odstráni iba zamýšľaný záznam. Záznamy s názvom Rithvik môžeme odstrániť pomocou nasledujúceho dotazu:

dotaz:

DELETE FROM GFG_Employees   
WHERE NAME = 'Rithvik';

výstup:

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

Príklad 2: Vymazanie viacerých záznamov

Ak chcete odstrániť viacero záznamov, môžete zadať podmienku, ktorá zodpovedá niekoľkým riadkom. Vymažte riadky z tabuľky  GFG_Employees, kde je oddelenie „Vývoj“. Tým sa odstránia 2 riadky (prvý a siedmy riadok).

dotaz:

DELETE FROM GFG_Employees   
WHERE department = 'Development';

Výstup

oddelenie' loading='lazy' title=

Príklad 3: Vymazanie všetkých záznamov z tabuľky

Ak potrebujeme vymazať všetky záznamy z tabuľky, môžeme vynechať klauzulu WHERE alebo alternatívne použiť príkaz DELETE s hviezdičkou (*) na označenie všetkých riadkov.

dotaz:

DELETE FROM GFG_Employees;  
Or
DELETE * FROM GFG_Employees;

výstup:

prázdny' loading='lazy' title=

Všetky záznamy v tabuľke budú vymazané, nezostali žiadne záznamy na zobrazenie. Tabuľka GFG_Employees bude prázdna.

Návrat späť Operácie DELETE

Keďže príkaz DELETE je operácia DML, môže byť pri vykonaní v príkaze vrátená späť. Ak omylom vymažete záznamy alebo potrebujete zopakovať proces, môžete použiť ROLLBACK príkaz.

dotaz:

START TRANSACTION;  
DELETE FROM GFG_Employees WHERE department = 'Development';
-- If needed you can rollback the deletion
ROLLBACK;

Vysvetlenie: Príkaz ROLLBACK zruší zmeny vykonané príkazom DELETE, čím efektívne obnoví záznamy, ktoré boli vymazané počas transakcie.

Vytvoriť kvíz