Klauzula DELETE, TRUNCATE

Do usuwania jednego lub więcej wierszy służą instrukcje DELETE oraz TRUNCATE. Ich użycie i działanie trochę się różni.

Instrukcja DELETE.

W celu usunięcia jednego lub więcej wierszy z tabeli należy użyć instrukcji DELETE.
Składnia instrukcji:

DELETE [FROM] {nazwa_tabeli} [WHERE warunki_wyszukiwania];

W przypadku braku klauzuli WHERE, instrukcja DELETE usunie wszystkie wiersze z tabeli.

Przykłady:

DELETE FROM orders WHERE customerid = 17;
DELETE employee WHERE employeeid = 33;
DELETE FROM orderhist;

Instrukcja TRUNCATE.

Jest to szczególny przypadek instrukcji DELETE (tj. bez klauzuli WHERE). Instrukcja TRUNCATE usuwa wszystkie wiersze z tabeli, bez żadnych wyjątków. Po usunięciu wszystkich wierszy pozostaje tylko zachowana struktura tabeli i obiekty z nią skojarzone. Instrukcja TRUNCATE jest wykonywana szybciej niż instrukcja DELETE.
Składnia instrukcji:

TRUNCATE TABLE nazwa_tabeli;

Przykład:

TRUNCATE TABLE orderhist;