Stavek SQL DELETE se uporablja za odstranitev določenih vrstic iz tabele, medtem ko struktura tabele ostane nedotaknjena. Razlikuje se od DROP-a, ki izbriše celotno tabelo.
- Odstrani vrstice glede na pogoje.
- Ohranja omejitve in indekse sheme tabel.
- Lahko izbriše eno ali vse vrstice.
primer: Najprej bomo ustvariti demo podatkovno bazo SQL in tabelo, na kateri bomo uporabili ukaz SQL DELETE.
poizvedba:
DELETE FROM Employees
WHERE EmployeeID = 5;
Izhod:
kaj je panj
- Ta poizvedba izbriše vrstico iz tabele Employees, kjer je EmployeeID 5.
- Odstranjen je le določen zapis; vse druge vrstice ostanejo nespremenjene.
Sintaksa:
DELETE FROM table_name
WHERE some_condition;
- Neki_pogoj: Pogoj, ki se uporablja za filtriranje vrstic, ki jih želite izbrisati.
- ime_tabele: Ime tabele, iz katere želite izbrisati vrstice.
Opomba: S klavzulo WHERE lahko izbrišemo en ali več zapisov; če je izpuščen, so vsi zapisi v tabeli odstranjeni.
Primeri izjave SQL DELETE
Predpostavimo, da smo v SQL ustvarili tabelo z imenom GFG_Employee, ki vsebuje osebne podatke zaposlenega, vključno z njegovim ID-imenom, e-pošto in oddelkom itd., kot je prikazano spodaj.
USTVARI TABELO GFG_Zaposleni (
id INT PRIMARNI KLJUČ
ime VARCHAR (20)
e-pošta VARCHAR (25)
oddelek VARCHAR(20)
);
INSERT INTO GFG_Employees (id ime e-poštni oddelek) VREDNOSTI
(1 'Jessie' '[email protected]' 'Razvoj')
(2 'Praveen' '[email protected]' 'HR')
(3 'Lahko' '[email protected]' 'Prodaja')
(4 'Rithvik' '[email protected]' 'IT')
(5 'Suraj' '[email protected]' 'Zagotavljanje kakovosti')
(6 'Om' '[email protected]' 'IT')
(7 'Naruto' '[email protected]' 'Razvoj');
Izberite * Iz GFG_Employeesreferenčna spremenljivka v Javi
Izhod:
Primer 1: Brisanje posameznega zapisa
Uporabimo lahko stavek DELETE s pogojem za izbris določene vrstice iz tabele. The KJE klavzula zagotavlja, da se odstrani le predvideni zapis. Zapise z imenom Rithvik lahko izbrišemo z uporabo spodnje poizvedbe:
poizvedba:
DELETE FROM GFG_Employees
WHERE NAME = 'Rithvik';
Izhod:
Primer 2: Brisanje več zapisov
Če želite izbrisati več zapisov, lahko določite pogoj, ki ustreza več vrsticam. Iz tabele GFG_Employees izbrišemo vrstice, kjer je oddelek 'Razvoj'. S tem boste izbrisali 2 vrstici (prvo vrstico in sedmo vrstico).
linux arhitektura
poizvedba:
DELETE FROM GFG_Employees
WHERE department = 'Development';
Izhod
Primer 3: Brisanje vseh zapisov iz tabele
Če moramo izbrisati vse zapise iz tabele, lahko izpustimo stavek WHERE ali pa uporabimo stavek DELETE z zvezdico (*), ki označuje vse vrstice.
poizvedba:
DELETE FROM GFG_Employees;
Or
DELETE * FROM GFG_Employees;
Izhod:
krožni razpored
Vsi zapisi v tabeli bodo izbrisani, ni ostalo nobenega zapisa za prikaz. Tabela GFG_Employees bo postala prazna.
Povrnitev operacij DELETE
Ker je stavek DELETE operacija DML, ga je mogoče povrniti nazaj, ko se izvede v stavku. Če pomotoma izbrišete zapise ali morate ponoviti postopek, lahko uporabite POVRAT ukaz.
poizvedba:
START TRANSACTION;
DELETE FROM GFG_Employees WHERE department = 'Development';
-- If needed you can rollback the deletion
ROLLBACK;
Pojasnilo: Ukaz ROLLBACK bo razveljavil spremembe, ki jih je izvedel stavek DELETE, in učinkovito obnovil zapise, ki so bili izbrisani med transakcijo.
Ustvari kviz