MySQL - Tabelle leeren mit PHP

So entfernen Sie alle Einträge einer Tabelle, erhalten aber die Struktur

Wer bei MySQL mit Tabellen arbeitet, muss diese nicht nur befüllen, sondern auch hin und wieder verändern oder Einträge entfernen. Möchte man nun eine Tabelle einer Datenbank aus verschiedenen Gründen komplett leeren (zum Beispiel bei einer temporären Speicherung), jedoch die Struktur der MySQL-Tabelle erhalten, dann hat man hierfür grundsätzlich zwei Möglichkeiten. Sie können alle Einträge der Tabelle löschen oder die Tabelle auf den Ursprungszustand zurücksetzen.

Tabelle bei MySQL per DELETE leeren

Die einfachste Variante, alle Einträge oder nur bestimmte Einträge einer Tabelle zu entfernen, ist der DELETE-Befehl von MySQL. Die Tabelle users wird folgendermaßen komplett geleert:


DELETE FROM `users`

Möchte man hingegen nur bestimmte Benutzer aus der Tabelle entfernen, kann man noch die WHERE-Klausel anfügen:


DELETE FROM `users` WHERE  `age` < 18

Dieser Befehl würde dann alle Benutzer entfernen, deren Alter kleiner als 18 ist. Der DELETE-Befehl hat jedoch einen Nachteil, da er die Tabelle nicht komplett auf seine anfängliche Struktur zurücksetzt. Daher ist es im Idealfall immer ratsam, TRUNCATE zum Leeren von Tabellen zu verwenden.

Tabelle mit TRUNCATE leeren

Wenn beispielsweise die Spalte id einer Tabelle auf auto_increment gesetzt wurde, dann sollten Sie TRUNCATE einsetzen, um eine MySQL-Tabelle zu leeren, da dieser Wert, der sich mit jedem Eintrag selbst erhöht, auf diese Weise ebenfalls zurückgesetzt wird:


TRUNCATE TABLE `users`

Technisch gesehen wird TRUNCATE zunächst die betreffende Tabelle löschen (DROP-Befehl) und anschließend gleich wieder erstellen (CREATE), was einen gewissen Geschwindigkeitsvorteil gegenüber DELETE mit sich bringt. Vor allem bei größeren Tabellen kann sich dies bemerkbar machen. Zudem wird, wie bereits erwähnt, jedes auto_increment in der jeweiligen Tabelle zurückgesetzt.

MySQL-Tabelle mit PHP leeren

Verpacken lässt sich dieser MySQL-Befehl relativ einfach in PHP. Der folgende Codeschnipsel leert in PHP eine Tabelle mittels TRUNCATE:


$db_con = mysqli_connect("localhost", "bn", "pw", "db");
$query =  "TRUNCATE TABLE users";
$res = mysqli_query($db_con, $query);
mysqli_close($db_con);

Diesen Tipp bewerten:

Mehr zum Thema: Webdesign aus der Kategorie Computer & Internet

Ihr Kommentar
 Ihr Name *
Keine Phantasienamen, Markennamen oder ähnliches.
 Ihr Avatar *
 E-Mail *
Wird nicht veröffentlicht. (Datenschutz)
 Kommentar *

Kommentare, die Werbung enthalten, werden nicht veröffentlicht.

Beliebt und gern gelesen:

Die gesundheitliche Wirkung von Kardamom
Kardamom ist nicht nur ein leckeres Gewürz aus Fernost, sondern auch ein Lebensmittel, mit dem sich die Gesundheit stärken lässt. Welche Wirkung Kardamom hat, erfahren Sie hier.
Schminkpinsel reinigen - Schminkpinsel säubern
Ein Schminkpinsel, der vielleicht täglich benutzt wird, muss so einiges mitmachen und verschmutzt natürlich im Laufe der Zeit. Hier erfahren Sie, wie Sie Ihren Schminkpinsel reinigen können.
Spüllappen und Putzschwämme in der Mikrowelle desinfizieren
Sie möchten Ihre Aufwaschlappen und Putzschwämme mit Hilfe der Mikrowelle desinfizieren und von Bakterien befreien? Wie Sie dies im Detail realisieren können, zeigt Ihnen dieser Tipp.
Geschirrspüler reinigen - Schritt für Schritt Anleitung
Auch der Geschirrspüler muss hin und wieder gereinigt und gepflegt werden. Erfahren Sie an dieser Stelle, wie Sie Schritt für Schritt Ihre Spülmaschine wieder sauber bekommen.
Tipps gegen geschwollene Augen und Tränensäcke
Es ist kein schöner Anblick, wenn man sich morgens mit geschwollenen Augenlidern im Bad begrüßt. Erfahren Sie hier, was Sie selbst gegen Tränensäcke und gequollene Augen tun können.