Slett data
På samme måte som INSERT-setningen alltid legger til hele rader i en tabell, fjerner DELETE-setningen alltid hele rader.
Bruke DELETE til å fjerne bestemte rader
DELETE opererer på et sett med rader, enten definert av en betingelse i en WHERE-setningsdel eller definert i en sammenføyning. WHERE-setningsdelen i en DELETE-setning har samme struktur som en WHERE-setningsdel i en SELECT-setning.
Merk deg
Det er viktig å huske på at en DELETE uten en tilsvarende WHERE-setningsdel vil fjerne alle radene fra en tabell. Bruk DELETE-setningen med forsiktighet.
Følgende kode viser den grunnleggende syntaksen for DELETE-setningen:
DELETE [FROM] <TableName>
WHERE <search_conditions>;
Eksemplet nedenfor bruker DELETE-setningen til å fjerne alle produkter fra den angitte tabellen som er fjernet. Det er en kolonne i tabellen som kalles utgått , og for produkter som ikke lenger er tilgjengelige, har kolonnen en verdi på 1.
DELETE FROM Production.Product
WHERE discontinued = 1;
Bruk AVKORT TABELL til å fjerne alle rader
SLETT uten en WHERE-setningsdel fjerner alle radene fra en tabell. Derfor brukes DELETE vanligvis betinget, med et filter i WHERE-setningsdelen. Hvis du virkelig vil fjerne alle radene og la en tom tabell stå, kan du bruke AVKORT TABELL-setningen. Denne setningen tillater ikke en WHERE-setningsdel og fjerner alltid alle radene i én operasjon. Her er et eksempel:
TRUNCATE TABLE Sales.Sample;
AVKORT TABELL er mer effektiv enn SLETT når du vil fjerne alle rader.