TRUNCATE w SQL

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Co to jest TRUNCATE w SQL?

TRUNCATE to polecenie SQL służące do szybkiego usunięcia wszystkich rekordów z tabeli. Nie usuwa samej tabeli ani jej struktury, czyli kolumny, typy danych, klucze i indeksy pozostają bez zmian.

Do czego służy TRUNCATE?

Polecenie TRUNCATE stosuje się wtedy, gdy chcemy wyczyścić całą tabelę z danych, ale nadal zachować ją w bazie.

Przykład:

TRUNCATE TABLE pracownicy;

Po wykonaniu tego polecenia tabela pracownicy nadal istnieje, ale nie zawiera żadnych wierszy.

TRUNCATE a DELETE

TRUNCATE usuwa wszystkie dane z tabeli, podobnie jak:

DELETE FROM pracownicy;

Różnica polega na tym, że TRUNCATE zwykle działa szybciej, ponieważ nie usuwa rekordów pojedynczo. W wielu systemach baz danych resetuje też licznik automatycznej numeracji, np. AUTO_INCREMENT.

TRUNCATE a DROP TABLE

TRUNCATE nie usuwa tabeli, a jedynie jej zawartość. Natomiast DROP TABLE usuwa całą tabelę razem ze strukturą.

DROP TABLE pracownicy;

Po DROP TABLE tabela przestaje istnieć.

TRUNCATE a ALTER TABLE

TRUNCATE nie służy do zmiany struktury tabeli. Jeśli trzeba dodać, usunąć lub zmienić kolumnę, należy użyć polecenia ALTER TABLE.

Najważniejsze do zapamiętania: TRUNCATE czyści dane, ALTER TABLE zmienia strukturę, a DROP TABLE usuwa tabelę.