Slet data
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.