ʫ

Sie haben den Artikel erfolgreich in den Warenkorb gelegt.
Was möchten Sie als nächstes tun?

Weiter einkaufen Zur Kasse

ȭ
Quelle - logo Mysql

MySQL Tabelleninhalt löschen

Manchmal lassen sich verschiedene Aktionen und Abfragen unter MySQL mittels einer zusammenfassenden Abfrage erledigen. Beispiel dafür ist wenn wir den Inhalt von einer Tabelle löschen wollen und damit gleich den AutoIndex resetten wollen. Denn das sind zwei verschiedene MySQL Operationen/Abfragen, die wir auch kombinieren können - nämlich in einer zusammenfassender Abfrage. Somit, wenn Sie eine MySQL Tabelle löschen wollen, können Sie das alles in einem Schritt machen.

Heute werden wir verdeutlichen wie Datensätze aus MySQL Tabellen ordnungsgemäß gelöscht werden und wie komplette MySQL geleert werden können (vom englisch - truncate). Darüber hinaus werden wir etwas mehr Licht auf MySQL AutoIndex werfen.

Löschen von Datensätzen von MySQL Tabellen mit DELETE FROM

Um Datensätze von einer MySQL Tabelle zu löschen, sieht die Abfrage so aus:

DELETE FROM `IHRE_TABELLE` [optional WHERE Klausel]

Anmerkungen:

  • Bitte, achten Sie darauf, dass man kein Sternchen nach dem MySQL Wort "DELETE" setzt, im Gegensatz zu SELECT. Also DELETE * FROM ist vollkommen inkorrekt

  • ACHTUNG: Wenn keine WHERE Klausel hinzugefügt wird, so werden sämtliche Datensätze gelöscht

  • Achten Sie auf die umschließende Zeichen für die Tabelle. Wenn diese nicht vorhanden sind, so wird MySQL versuchen, den von Ihnen genannten Tabellennamen zu parsen. Beispiel - sowas funktioniert nicht: DELETE FROM meine-tabelle WHERE id=1 auftrund des Bindestriches. Richtig wäre DELETE FROM `meine-tabelle` WHERE id=1.

Der MySQL AutoIndex von dieser Tabelle wird nicht zurückgesetzt, was bedeutet das?

Das bedeutet, dass der interne Zähler, der sagt was die nächste kleinstmögliche ID ist, noch die höchste ID + 1 enthält, die bisher in diese Tabelle hinzugefügt worden ist. Lesen Sie mehr über den AutoIndex und wie Sie ihn nachträglich resetten können. Wenn sehr oft Datensätze angelegt und dann wieder gelöscht werden, so wächst der Autoindex ununterbrochen und kann dazu führen, dass Sie ganz große IDs erhalten, ohne dass es sogar annäherend so viele Datensätze in der Tabelle gibt. Daher sollten Sie immer nach einer Löschung versuchen den Autoindex zurückzusetzen.

Leeren einer MySQL Tabelle mit Zurücksetzung von AutoIndex mit TRUNCATE

Wenn wir alle Datensätze von einer Tabelle löschen, so nutzt uns nichts einen großen AutoIndex zu haben, wir wollen doch von 1 anfangen (natürlich nur falls wir eine auto_increment Spalte haben). In diesem Fall nehmen wir eine andere MySQL Abfrage:

TRUNCATE TABLE `IHRE_TABELLE`

MySQL Tabelle löschen

Wenn Sie eine MySQL Tabelle komplett löschen wollen, so dass nicht nur der Inhalt, sondern auch die Tabelle selber gelöscht wird, so sollten Sie folgende Abfrage ausführen:

DROP TABLE `IhreTabelle`

Bitte, beachten Sie, dass Sie den Tabellennamen mit `xxx` umfassen müssen, falls dieser einen Bindestrich oder andere reservierte MySQL Wörter enthält und dass Sie damit unwiderruflich die Tabelle löschen!

Fazit

Sie können mit zwei Abfragen bestimmte oder alle Datensätzen einer Tabelle löschen und dann den AutoIndex zurücksetzen. Jedoch, wenn Sie eine Tabelle komplett leeren wollen, so sollten Sie immer TRUNCATE nehmen.

û