MySQL TRUNCATE TABLE

Zusammenfassung: In diesem Tutorium lernen Sie, wie Sie die MySQL TRUNCATE TABLE-Anweisung verwenden, um alle Daten in einer Tabelle zu löschen.

Einführung in die MySQL-Anweisung TRUNCATE TABLE

Mit der MySQL-Anweisung TRUNCATE TABLE können Sie alle Daten in einer Tabelle löschen.

Logisch gesehen ist die TRUNCATE TABLE-Anweisung wie eine DELETE-Anweisung ohne WHERE-Klausel, die alle Zeilen aus einer Tabelle löscht, oder eine Folge von DROP TABLE– und CREATE TABLE-Anweisungen.

Die TRUNCATE TABLE-Anweisung ist jedoch effizienter als die DELETE-Anweisung, da sie die Tabelle löscht und neu erstellt, anstatt eine Zeile nach der anderen zu löschen.

Hier ist die grundlegende Syntax derTRUNCATE TABLE-Anweisung:

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

In dieser Syntax geben Sie nach den TRUNCATE TABLE-Schlüsselwörtern den Namen der Tabelle an, aus der alle Daten entfernt werden sollen.

Das Schlüsselwort TABLE ist optional. Es ist jedoch eine gute Praxis, das Schlüsselwort TABLE zu verwenden, um zwischen der TRUNCATE TABLE-Anweisung und der TRUNCATE()-Funktion zu unterscheiden.

Wenn es irgendwelche FOREIGN KEY-Beschränkungen aus anderen Tabellen gibt, die auf die Tabelle verweisen, die Sie abschneiden, wird die TRUNCATE TABLE-Anweisung fehlschlagen.

Da ein Abbruchvorgang eine implizite Übertragung verursacht, kann er nicht rückgängig gemacht werden.

Die TRUNCATE TABLE-Anweisung setzt den Wert in der AUTO_INCREMENT-Spalte auf ihren Startwert zurück, wenn die Tabelle eine AUTO_INCREMENT-Spalte hat.

Die TRUNCATE TABLE-Anweisung löst keine DELETE-Trigger aus, die mit der Tabelle verknüpft sind, die abgeschnitten wird.

Im Gegensatz zu einer DELETE-Anweisung ist die Anzahl der von der TRUNCATE TABLE-Anweisung betroffenen Zeilen 0, was als keine Information interpretiert werden sollte.

MySQL TRUNCATE TABLE Beispiel

Lassen Sie uns ein Beispiel für die Verwendung der Anweisung TRUNCATE TABLE nehmen.

Erstellen Sie zunächst eine neue Tabelle mit dem Namen books für die Demonstration:

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

Fügen Sie anschließend mit der folgenden gespeicherten Prozedur Dummy-Daten in die Tabelle books ein:

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

Laden Sie dann 10.000 Zeilen in die Tabelle books. Das dauert eine Weile.

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

Prüfen Sie danach die Daten in der Tabelle books:

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

Löschen Sie schließlich mit der Anweisung TRUNCATE TABLE alle Zeilen aus der Tabelle books:

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

Beachten Sie, dass Sie die Leistung zwischen der Anweisung TRUNCATE TABLE und der Anweisung DELETE vergleichen können.

In diesem Tutorium haben Sie gelernt, wie Sie die MySQL-Anweisung TRUNCATE TABLE verwenden, um alle Daten aus einer Tabelle effizient zu löschen, insbesondere bei einer großen Tabelle.

  • War dieses Tutorium hilfreich?
  • JaNein

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.