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ę.