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.
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=1auftrund 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.
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`
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.
Brauchen Sie Hilfe bei Ihren MySQL Abfragen oder Programmierung, kommen Sie nicht weiter? Wir stehen Ihnen jederzeit zur Verfügung – E-Mail use-media oder direkt anrufen 02161 177747



