Naredba SQL DELETE koristi se za uklanjanje određenih redaka iz tablice, a pritom zadržava strukturu tablice netaknutom. Razlikuje se od DROP-a koji briše cijelu tablicu.
- Uklanja redove na temelju uvjeta.
- Zadržava ograničenja i indekse sheme tablice.
- Može izbrisati jedan red ili sve retke.
Primjer: Prvo ćemo stvoriti demo SQL baza podataka i tablica na kojoj ćemo koristiti SQL naredbu DELETE.
Upit:
DELETE FROM Employees
WHERE EmployeeID = 5;
Izlaz:
katrina kaif
- Ovaj upit briše redak iz tablice Zaposlenici gdje je EmployeeID 5.
- Uklanja se samo taj određeni zapis; svi ostali redovi ostaju nepromijenjeni.
Sintaksa:
DELETE FROM table_name
WHERE some_condition;
- Neki_uvjet: Uvjet koji se koristi za filtriranje redaka koje želite izbrisati.
- naziv_tablice: Naziv tablice iz koje želite izbrisati retke.
Bilješka: Možemo izbrisati jedan ili više zapisa koristeći WHERE klauzulu; ako je izostavljen, svi zapisi u tablici se uklanjaju.
Primjeri SQL naredbe DELETE
Pretpostavimo da smo kreirali tablicu pod nazivom GFG_Employee u SQL-u koja sadrži osobne podatke zaposlenika, uključujući njihov ID, ime e-pošte i odjel itd., kao što je prikazano u nastavku.
STVARANJE TABLICE GFG_Zaposlenici (
id INT PRIMARNI KLJUČ
ime VARCHAR (20)
email VARCHAR (25)
odjel VARCHAR(20)
);
INSERT INTO GFG_Employees (id name email odjel) VALUES
(1 'Jessie' '[email protected]' 'Razvoj')
(2 'Praveen' '[email protected]' 'HR')
(3 'Može' '[email protected]' 'Prodaja')
(4 'Rithvik' '[email protected]' 'IT')
(5 'Suraj' '[email protected]' 'Osiguranje kvalitete')
(6 'Om' '[email protected]' 'IT')
(7 'Naruto' '[email protected]' 'Razvoj');
Odaberite * Iz GFG_Employeesnegacija diskretna matematika
Izlaz:
Primjer 1: Brisanje jednog zapisa
Možemo koristiti naredbu DELETE s uvjetom za brisanje određenog retka iz tablice. The GDJE klauzula osigurava uklanjanje samo željenog zapisa. Zapise pod nazivom Rithvik možemo izbrisati korištenjem upita u nastavku:
Upit:
DELETE FROM GFG_Employees
WHERE NAME = 'Rithvik';
Izlaz:
Primjer 2: Brisanje više zapisa
Za brisanje više zapisa možete navesti uvjet koji odgovara nekoliko redaka. Izbrišite retke iz tablice GFG_Employees gdje je odjel 'Razvoj'. Ovo će izbrisati 2 retka (prvi red i sedmi red).
python ili
Upit:
DELETE FROM GFG_Employees
WHERE department = 'Development';
Izlaz
Primjer 3: Brisanje svih zapisa iz tablice
Ako trebamo izbrisati sve zapise iz tablice, možemo izostaviti klauzulu WHERE ili alternativno koristiti naredbu DELETE sa zvjezdicom (*) za označavanje svih redaka.
Upit:
DELETE FROM GFG_Employees;
Or
DELETE * FROM GFG_Employees;
Izlaz:
python operator ostatka
Svi zapisi u tablici bit će izbrisani, nema preostalih zapisa za prikaz. Tablica GFG_Employees postat će prazna.
Vraćanje operacija DELETE
Budući da je naredba DELETE DML operacija, može se vratiti kada se izvrši u naredbi. Ako slučajno izbrišete zapise ili trebate ponoviti postupak, možete upotrijebiti POVRATAK naredba.
Upit:
START TRANSACTION;
DELETE FROM GFG_Employees WHERE department = 'Development';
-- If needed you can rollback the deletion
ROLLBACK;
Obrazloženje: Naredba ROLLBACK će poništiti promjene napravljene naredbom DELETE učinkovito vraćajući zapise koji su izbrisani tijekom transakcije.
Napravi kviz