SQL DELETE-satsen används för att ta bort specifika rader från en tabell samtidigt som tabellstrukturen hålls intakt. Det skiljer sig från DROP som tar bort hela tabellen.
- Den tar bort rader baserat på förhållanden.
- Behåller tabellschemabegränsningar och index.
- Kan ta bort en enstaka rad eller alla rader.
Exempel: Först ska vi skapa en demo SQL-databas och tabell där vi kommer att använda kommandot SQL DELETE.
Fråga:
DELETE FROM Employees
WHERE EmployeeID = 5;
Produktion:
- Den här frågan tar bort raden från tabellen Anställda där EmployeeID är 5.
- Endast den specifika posten tas bort; alla andra rader förblir oförändrade.
Syntax:
DELETE FROM table_name
WHERE some_condition;
- Some_condition: Ett villkor som används för att filtrera de rader du vill ta bort.
- tabellnamn: Namnet på tabellen som du vill ta bort raderna från.
Notera: Vi kan radera enstaka eller flera poster med hjälp av WHERE-satsen; om den utelämnas tas alla poster i tabellen bort.
Exempel på SQL DELETE-sats
Anta att vi har skapat en tabell med namnet GFG_Employee i SQL som innehåller personalens personliga uppgifter inklusive deras id-namn e-post och avdelning etc. som visas nedan.
arraylist i java sortering
SKAPA TABELL GFG_Anställda (
id INT PRIMÄRNYCKEL
namn VARCHAR (20)
mejla VARCHAR (25)
avdelning VARCHAR(20)
);
INSERT INTO GFG_Employees (id-namn e-postavdelning) VÄRDEN
(1 'Jessie' '[email protected]' 'Utveckling')
(2 'Praveen' '[email protected]' 'HR')
(3 'Kan' '[email protected]' 'Försäljning')
(4 'Rithvik' '[email protected]' 'IT')
(5 'Suraj' '[email protected]' 'Kvalitetssäkring')
(6 'Om' '[email protected]' 'IT')
(7 'Naruto' '[email protected]' 'Utveckling');
Välj * Från GFG_Employees
Produktion:
Exempel 1: Ta bort enstaka post
Vi kan använda DELETE-satsen med ett villkor för att ta bort en specifik rad från en tabell. De DÄR klausul säkerställer att endast den avsedda posten tas bort. Vi kan radera posterna med namnet Rithvik genom att använda nedanstående fråga:
Fråga:
DELETE FROM GFG_Employees
WHERE NAME = 'Rithvik';
Produktion:
Exempel 2: Ta bort flera poster
För att radera flera poster kan du ange ett villkor som matchar flera rader. Låt oss ta bort raderna från tabellen GFG_Employees där avdelningen är 'Utveckling'. Detta kommer att ta bort 2 rader (den första raden och den sjunde raden).
strängarray
Fråga:
DELETE FROM GFG_Employees
WHERE department = 'Development';
Produktion
Exempel 3: Ta bort alla poster från en tabell
Om vi behöver ta bort alla poster från tabellen kan vi utelämna WHERE-satsen eller alternativt använda DELETE-satsen med en asterisk (*) för att beteckna alla rader.
Fråga:
DELETE FROM GFG_Employees;
Or
DELETE * FROM GFG_Employees;
Produktion:
matematik slumpmässigt java
Alla poster i tabellen kommer att raderas, det finns inga poster kvar att visa. Tabellen GFG_Employees blir tom.
Återställ DELETE-åtgärder
Eftersom DELETE-satsen är en DML-operation kan den återställas när den körs i en sats. Om du av misstag raderar poster eller behöver upprepa processen kan du använda ROLLBACK kommando.
Fråga:
START TRANSACTION;
DELETE FROM GFG_Employees WHERE department = 'Development';
-- If needed you can rollback the deletion
ROLLBACK;
Förklaring: ROLLBACK-kommandot kommer att ångra ändringarna som gjorts av DELETE-satsen och effektivt återställer de poster som raderades under transaktionen.
Skapa frågesport