logo

SQL DELETE-erklæring

SQL DELETE-setningen brukes til å fjerne spesifikke rader fra en tabell mens tabellstrukturen holdes intakt. Det er forskjellig fra DROP som sletter hele tabellen.

  • Den fjerner rader basert på forhold.
  • Beholder tabellskjemabegrensninger og indekser.
  • Kan slette en enkelt rad eller alle rader.

Eksempel: Først vil vi skape en demo SQL-database og tabell som vi skal bruke SQL DELETE-kommandoen på.

Av' title=

Spørsmål:



DELETE FROM Employees  
WHERE EmployeeID = 5;

Produksjon:

Slettet-rad-' loading='lazy' title=
  • Denne spørringen sletter raden fra Employee-tabellen der Employee-ID er 5.
  • Bare den spesifikke posten fjernes; alle andre rader forblir uendret.

Syntaks:

DELETE FROM table_name   
WHERE some_condition;
  • Some_condition: En betingelse som brukes til å filtrere radene du vil slette.
  • tabellnavn: Navnet på tabellen du vil slette radene fra.

Note: Vi kan slette enkelt eller flere poster ved å bruke WHERE-klausulen; hvis den er utelatt, fjernes alle postene i tabellen.

Eksempler på SQL DELETE-setning

Anta at vi har laget en tabell kalt GFG_Employee i SQL som inneholder personopplysningene til den ansatte inkludert deres id-navn e-post og avdeling etc. som vist nedenfor.

LAG TABELL GFG_Ansatte (
ID INT PRIMÆR NØKKEL
navn VARCHAR (20)
e-post til VARCHAR (25)
avdeling VARCHAR(20)
);

INSERT INTO GFG_Employees (ID navn e-postavdeling) VERDIER
(1 'Jessie' '[email protected]' 'Utvikling')
(2 'Praveen' '[email protected]' 'HR')
(3 'Can' '[email protected]' 'Salg')
(4 'Rithvik' '[email protected]' 'IT')
(5 'Suraj' '[email protected]' 'Kvalitetssikring')
(6 'Om' '[email protected]' 'IT')
(7 'Naruto' '[email protected]' 'Utvikling');

Velg * Fra GFG_Employees

Produksjon:

GFG_ansatt' loading='lazy' title=

Eksempel 1: Sletting av enkeltpost

Vi kan bruke DELETE-setningen med en betingelse for å slette en spesifikk rad fra en tabell. De HVOR klausulen sikrer at bare den tiltenkte posten fjernes. Vi kan slette postene kalt Rithvik ved å bruke spørringen nedenfor:

Spørsmål:

DELETE FROM GFG_Employees   
WHERE NAME = 'Rithvik';

Produksjon:

slettet-info' loading='lazy' title=

Eksempel 2: Sletting av flere poster

For å slette flere poster kan du spesifisere en betingelse som samsvarer med flere rader. La oss slette radene fra tabellen  GFG_Employees der avdelingen er «Utvikling». Dette vil slette 2 rader (den første raden og den syvende raden).

Spørsmål:

DELETE FROM GFG_Employees   
WHERE department = 'Development';

Produksjon

avdeling' loading='lazy' title=

Eksempel 3: Slett alle poster fra en tabell

Hvis vi trenger å slette alle poster fra tabellen, kan vi utelate WHERE-leddet eller alternativt bruke DELETE-setningen med en stjerne (*) for å angi alle rader.

Spørsmål:

forskjell i python
DELETE FROM GFG_Employees;  
Or
DELETE * FROM GFG_Employees;

Produksjon:

tømme' loading='lazy' title=

Alle postene i tabellen vil bli slettet, det er ingen poster igjen å vise. Tabellen GFG_Employees  blir tom.

Tilbakestille SLETT-operasjoner

Siden DELETE-setningen er en DML-operasjon, kan den rulles tilbake når den utføres i en setning. Hvis du ved et uhell sletter poster eller trenger å gjenta prosessen, kan du bruke TILBAKE kommando.

Spørsmål:

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

Forklaring: ROLLBACK-kommandoen vil angre endringene som er gjort av DELETE-setningen og effektivt gjenopprette postene som ble slettet under transaksjonen.

Lag quiz