logo

SQL DELETE-erklæring

SQL DELETE-sætningen bruges til at fjerne bestemte rækker fra en tabel, mens tabelstrukturen bevares intakt. Det er forskelligt fra DROP, som sletter hele bordet.

  • Det fjerner rækker baseret på betingelser.
  • Bevarer tabelskemabegrænsninger og indekser.
  • Kan slette en enkelt række eller alle rækker.

Eksempel: Først vil vi skabe en demo SQL-database og -tabel, hvor vi vil bruge kommandoen SQL DELETE.

Af' title=

Forespørgsel:



DELETE FROM Employees  
WHERE EmployeeID = 5;

Produktion:

Slettet-række-' loading='lazy' title=
  • Denne forespørgsel sletter rækken fra tabellen Medarbejdere, hvor medarbejder-id'et er 5.
  • Kun den specifikke registrering fjernes; alle andre rækker forbliver uændrede.

Syntaks:

DELETE FROM table_name   
WHERE some_condition;
  • Some_condition: En betingelse, der bruges til at filtrere de rækker, du vil slette.
  • tabelnavn: Navnet på den tabel, som du vil slette rækkerne fra.

Note: Vi kan slette enkelte eller flere poster ved hjælp af WHERE-klausulen; hvis den udelades, fjernes alle poster i tabellen.

Eksempler på SQL DELETE-sætning

Antag, at vi har lavet en tabel med navnet GFG_Employee i SQL, som indeholder medarbejderens personlige oplysninger, herunder deres id-navn e-mail og afdeling osv. som vist nedenfor.

OPRET TABEL GFG_Medarbejdere (
id INT PRIMÆR NØGLE
navn VARCHAR (20)
e-mail VARCHAR (25)
afdeling VARCHAR(20)
);

INSERT INTO GFG_Employees (id navn e-mail afdeling) VÆRDI
(1 'Jessie' '[email protected]' 'Udvikling')
(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]' 'Udvikling');

Vælg * Fra GFG_Employees

Produktion:

GFG_medarbejder' loading='lazy' title=

Eksempel 1: Sletning af enkelt post

Vi kan bruge DELETE-sætningen med en betingelse for at slette en bestemt række fra en tabel. De HVOR klausul sikrer, at kun den tilsigtede registrering fjernes. Vi kan slette posterne med navnet Rithvik ved at bruge nedenstående forespørgsel:

Forespørgsel:

DELETE FROM GFG_Employees   
WHERE NAME = 'Rithvik';

Produktion:

slettet-info' loading='lazy' title=

Eksempel 2: Sletning af flere poster

For at slette flere poster kan du angive en betingelse, der matcher flere rækker. Lad os slette rækkerne fra tabellen  GFG_Employees, hvor afdelingen er 'Udvikling'. Dette vil slette 2 rækker (den første række og den syvende række).

Forespørgsel:

DELETE FROM GFG_Employees   
WHERE department = 'Development';

Produktion

afdeling' loading='lazy' title=

Eksempel 3: Slet alle poster fra en tabel

Hvis vi skal slette alle poster fra tabellen, kan vi udelade WHERE-sætningen eller alternativt bruge DELETE-sætningen med en stjerne (*) for at angive alle rækker.

Forespørgsel:

.tostring java
DELETE FROM GFG_Employees;  
Or
DELETE * FROM GFG_Employees;

Produktion:

tom' loading='lazy' title=

Alle poster i tabellen vil blive slettet, der er ingen poster tilbage at vise. Tabellen GFG_Employees  bliver tom.

Tilbagestilling SLET-handlinger

Da DELETE-sætningen er en DML-operation, kan den rulles tilbage, når den udføres i en sætning. Hvis du ved et uheld sletter poster eller har brug for at gentage processen, kan du bruge TILBAGE kommando.

Forespørgsel:

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

Forklaring: ROLLBACK-kommandoen vil fortryde de ændringer, der er foretaget af DELETE-sætningen, hvilket effektivt gendanner de poster, der blev slettet under transaktionen.

Opret quiz