Slet data

Fuldført

På samme måde som INSERT-sætningen altid føjer hele rækker til en tabel, fjerner DELETE-sætningen altid hele rækker.

Brug DELETE til at fjerne bestemte rækker

DELETE fungerer på et sæt rækker, der enten er defineret af en betingelse i en WHERE-delsætning eller defineret i en joinforbindelse. WHERE-delsætningen i en DELETE-sætning har samme struktur som en WHERE-delsætning i en SELECT-sætning.

Bemærk

Det er vigtigt at huske på, at en DELETE uden en tilsvarende WHERE-delsætning fjerner alle rækkerne fra en tabel. Brug DELETE-sætningen med forsigtighed.

Følgende kode viser den grundlæggende syntaks for DELETE-sætningen:

DELETE [FROM] <TableName>
WHERE <search_conditions>;

I følgende eksempel bruges DELETE-sætningen til at fjerne alle produkter fra den angivne tabel, der er ophørt. Der er en kolonne i tabellen, der kaldes udgået , og for produkter, der ikke længere er tilgængelige, har kolonnen en værdi på 1.

DELETE FROM Production.Product
WHERE discontinued = 1;

Brug TRUNCATE TABLE til at fjerne alle rækker

DELETE uden en WHERE-delsætning fjerner alle rækkerne fra en tabel. Derfor bruges DELETE normalt betinget med et filter i WHERE-delsætningen. Hvis du virkelig vil fjerne alle rækkerne og efterlade en tom tabel, kan du bruge sætningen TRUNCATE TABLE. Denne sætning tillader ikke en WHERE-delsætning og fjerner altid alle rækkerne i én handling. Her er et eksempel:

TRUNCATE TABLE Sales.Sample;

TRUNCATE TABLE er mere effektiv end DELETE, når du vil fjerne alle rækker.