PHP: MySQL Tabelle leeren?

4 Antworten

DELETE ist hierfür auch schon richtig.

The DELETE statement is used to delete existing records in a table. (...)
Note: (...) If you omit the WHERE clause, all records in the table will be deleted!

Quelle

Alternativ geht es auch mit TRUNCATE. Die Unterschiede zwischen beiden Statements kannst du hier nachlesen.

Ich sehe allerdings nicht, dass du den SQL Query an die Datenbank schicken würdest. Bisher speicherst du ihn nur als String in einer PHP-Variable.

Zum Absenden eines SQL Queries kannst du mysqli_query nutzen. Bekannt sollte dir das Prozedere allerdings bereits sein.

Eine Tabelle zu löschen (DROP) ist etwas ganz anderes als eine Tabelle zu leeren (TRUNCATE).

Für beides findest Du Anleitungen im Netz.

Von einem Experten bestätigt
TRUNCATE TABLE tabelName;
--Das löscht den Inhalt der Tabelle.
Woher ich das weiß:Studium / Ausbildung – Informatikstudent

Du möchtest alle Datensätze löschen?

Woher ich das weiß:Studium / Ausbildung

euiuerghrugt 
Fragesteller
 05.07.2021, 11:45

Ja, genau

0
anonymjskdj12  05.07.2021, 11:46
@euiuerghrugt

Folgende Optionen fallen mir ein:
- Drop Table (gesamte Tabelle löschen) und dann Create Table (Tabelle vollständig neu erstellen)
- Durch eine Schleife die Datensätze einzeln löschen bis keiner mehr da ist (sehr inperformant)
- Versuch mal DELETE * FROM tabelle (eventuell ist es ja doch so leicht)
- TRUNCAT (löscht alles)

1
anonymjskdj12  05.07.2021, 11:48
@germanils

Ja das ist mir gerade auch aufgefallen, wie ich es selbst bei mir probiert habe (Vorschlag des Editors) haha. Habe das entsprechend eingefügt. :D

2