MySQL TRUNCATE TABLE

Podsumowanie: w tym poradniku dowiesz się jak używać instrukcji MySQL TRUNCATE TABLE do usuwania wszystkich danych z tabeli.

Wprowadzenie do instrukcji MySQL TRUNCATE TABLE

Konstrukcja MySQL TRUNCATE TABLE pozwala usunąć wszystkie dane w tabeli.

Logicznie, instrukcja TRUNCATE TABLE jest jak instrukcja DELETE bez klauzuli WHERE, która usuwa wszystkie wiersze z tabeli, lub sekwencja instrukcji DROP TABLE i CREATE TABLE.

Jednakże instrukcja TRUNCATE TABLE jest bardziej wydajna niż instrukcja DELETE, ponieważ usuwa i odtwarza tabelę zamiast usuwać wiersze jeden po drugim.

Oto podstawowa składnia instrukcjiTRUNCATE TABLE:

Code language: SQL (Structured Query Language) (sql)

W tej składni określasz nazwę tabeli, z której chcesz usunąć wszystkie dane po słowach kluczowych TRUNCATE TABLE.

Słowo kluczowe TABLE jest opcjonalne. Jednak dobrą praktyką jest używanie słowa kluczowego TABLE w celu odróżnienia instrukcji TRUNCATE TABLE od funkcji TRUNCATE().

Jeśli istnieją jakiekolwiek FOREIGN KEY ograniczenia z innych tabel, które odwołują się do tabeli, którą obcinasz, instrukcja TRUNCATE TABLE zakończy się niepowodzeniem.

Ponieważ operacja obcięcia powoduje niejawny commit, dlatego nie można jej cofnąć.

Określenie TRUNCATE TABLE resetuje wartość w kolumnie AUTO_INCREMENT do wartości początkowej, jeśli tabela ma kolumnę AUTO_INCREMENT.

Określenie TRUNCATE TABLE nie wywołuje wyzwalaczy DELETE związanych z tabelą, która jest obcinana.

W przeciwieństwie do polecenia DELETE liczba wierszy, na które wpływa polecenie TRUNCATE TABLE, wynosi 0, co należy interpretować jako brak informacji.

Przykład MySQL TRUNCATE TABLE

Przyjrzyjrzyjmy się przykładowi użycia instrukcji TRUNCATE TABLE.

Na początek utwórz nową tabelę o nazwie books dla celów demonstracyjnych:

Code language: SQL (Structured Query Language) (sql)

Następnie wstaw dane pozorne do tabeli books za pomocą następującej procedury przechowywanej:

Code language: SQL (Structured Query Language) (sql)

Następnie załaduj 10 000 wierszy do tabeli books. Zajmie to chwilę.

Code language: SQL (Structured Query Language) (sql)

Po tym sprawdź dane w tabeli books:

Code language: SQL (Structured Query Language) (sql)

Na koniec użyj instrukcji TRUNCATE TABLE, aby usunąć wszystkie wiersze z tabeli books:

Code language: SQL (Structured Query Language) (sql)

Zauważ, że możesz porównać wydajność między instrukcją TRUNCATE TABLE a instrukcją DELETE.

W tym samouczku dowiedziałeś się, jak używać instrukcji MySQL TRUNCATE TABLE do efektywnego usuwania wszystkich danych z tabeli, szczególnie w przypadku dużych tabel.

  • Czy ten poradnik był pomocny?
  • TakNie
  • Czy ten kurs był pomocny?
  • Dodaj komentarz

    Twój adres e-mail nie zostanie opublikowany.