Aby usunąć wszystkie rekordy z tabeli w bazie danych MySQL, pozostawiając jej strukturę, należy użyć polecenia
A.
TRUNCATE TABLE
B.
ALTER TABLE
C.
DROP TABLE
D.
REVOKEPolecenie TRUNCATE TABLE jest właściwe, ponieważ usuwa wszystkie wiersze zapisane w tabeli, ale nie kasuje definicji samej tabeli: nazw kolumn, typów danych, indeksów i kluczy. Typowa składnia w MySQL to: TRUNCATE TABLE nazwa_tabeli;. Mechanizm działania różni się od zwykłego usuwania pojedynczych rekordów - operacja opróżnia tabelę jako całość, dlatego zwykle jest szybsza niż DELETE bez warunku WHERE. Po wykonaniu polecenia tabela nadal istnieje i można od razu wstawiać do niej nowe dane. W praktyce stosuje się je na przykład przy czyszczeniu tabel pomocniczych, testowych lub tymczasowych. Trzeba pamiętać, że TRUNCATE TABLE nie służy do wybiórczego usuwania rekordów, bo nie przyjmuje warunku WHERE.
W tym pytaniu chodzi o usunięcie danych, a nie o zmianę lub skasowanie obiektu bazy danych. DROP TABLE usuwa całą tabelę z bazy: razem ze strukturą, definicją kolumn, indeksami i danymi. Byłoby trafne wtedy, gdy tabela ma przestać istnieć. ALTER TABLE służy do modyfikacji struktury tabeli, na przykład dodania kolumny, zmiany typu danych albo utworzenia indeksu; nie jest poleceniem do czyszczenia rekordów. REVOKE odbiera użytkownikom uprawnienia, na przykład prawo do odczytu lub modyfikacji danych, więc dotyczy administracji dostępem. Poprawnym poleceniem jest TRUNCATE TABLE, ponieważ opróżnia tabelę z wszystkich rekordów i pozostawia jej strukturę. Typowy błąd polega na utożsamieniu usunięcia wszystkich rekordów z usunięciem całej tabeli. W MySQL te operacje mają różne skutki: po TRUNCATE TABLE tabela nadal istnieje, a po DROP TABLE trzeba ją utworzyć ponownie.