Adatok törlése
Ahogyan az INSERT utasítás mindig egész sorokat ad hozzá egy táblához, a DELETE utasítás mindig eltávolítja a teljes sorokat.
Adott sorok eltávolítása a DELETE használatával
A DELETE egy sorkészleten működik, amelyet egy WHERE záradékban szereplő feltétel határoz meg, vagy egy illesztésben definiál. A DELETE utasítás WHERE záradékának struktúrája megegyezik a SELECT utasítás WHERE záradékával.
Feljegyzés
Fontos szem előtt tartani, hogy a megfelelő WHERE záradék nélküli DELETE eltávolítja az összes sort egy táblából. Óvatosan használja a DELETE utasítást.
Az alábbi kód a DELETE utasítás alapszintaxisát mutatja be:
DELETE [FROM] <TableName>
WHERE <search_conditions>;
Az alábbi példa a DELETE utasítás használatával távolítja el az összes terméket a megadott táblából, amely megszűnt. A táblában van egy megszűntnek nevezett oszlop, és a már nem elérhető termékek esetében az oszlop értéke 1.
DELETE FROM Production.Product
WHERE discontinued = 1;
A TRUNCATE TABLE használata az összes sor eltávolításához
A DELETE where záradék nélkül eltávolítja az összes sort egy táblából. Emiatt a DELETE-t általában feltételesen használják, a WHERE záradékban egy szűrővel. Ha valóban el szeretné távolítani az összes sort, és üres táblát szeretne hagyni, használhatja a TRUNCATE TABLE utasítást. Ez az utasítás nem engedélyezi a WHERE záradékot, és mindig eltávolítja egy művelet összes sorát. Például:
TRUNCATE TABLE Sales.Sample;
A TRUNCATE TABLE hatékonyabb, mint a DELETE, ha az összes sort el szeretné távolítani.