Wie kann ich den Inhalt aller Tabellen in meiner Datenbank in phpMyAdmin löschen, ohne die Datenbank zu löschen?

7

Wie kann ich den Inhalt aller Tabellen in meiner Datenbank in phpMyAdmin leeren, ohne eine der Tabellen in der Datenbank zu löschen?

Da ich dies mehrere Male pro Stunde mache, während ich mich in der Entwicklung befinde, würde ich nicht jedes Mal einzeln auf alle 60+ Tabellen "leer" klicken.

    
Joshua 27.03.2010, 15:09
quelle

9 Antworten

7

Erstellen Sie ein SQL-Skript mit mehreren DELETE-Anweisungen (eine für jede Tabelle) und führen Sie es aus.

Rufen Sie phpMyAdmin auf und wählen Sie die gewünschte Datenbank aus. Wählen Sie die Registerkarte SQL und fügen Sie das SQL-Skript in das Fenster ein. Drücken Sie Los.

Schau auch hier:

Alle Tabellen aus einer MySQL-Datenbank löschen, ohne sie zu löschen

    
Leniel Macaferi 27.03.2010, 15:17
quelle
15

IMHO die einfachste Lösung ist:

  • Wählen Sie in phpmyadmin die Datenbank aus, die Sie in der Datenbankliste (linke Seite)
  • abschneiden möchten
  • In der Hauptansicht scrollen Sie nach unten, Sie sehen eine Checkbox "Check All" und daneben eine Drop-Down-Box, in der Sie "Empty" auswählen können. Fertig.
andreas 22.09.2015 06:33
quelle
4

Wir können alle Tabellendaten tatsächlich durch phpMyAdmin abschneiden!

In phpMyAdmin können Sie dies folgendermaßen tun:

1) Wählen Sie u DB und führen Sie den Export wie folgt aus:

Wählen Sie Benutzerdefinierte Exportmethode

  • Wählen Sie "Dump-Tabelle - & gt; Daten 'in Format-spezifische Optionen
  • Wählen Sie in den Objekterstellungsoptionen die Option "DROP TABLE ... -Statement hinzufügen".

Mit diesem Schritt hilft uns phpMyAdmin, ein sql-Skript der vollständigen Liste aller Tabellen zu erstellen

3) Führen Sie den Import-Vorgang durch, um jede leere Tabelle einzeln zu löschen und durch dieses Skript zu erstellen

    
John Yin 19.02.2014 06:15
quelle
3

Sie könnten mit dieser Abfrage beginnen

%Vor%

Und durchlaufen Sie diese Ergebnisse, um eine dynamische SQL-Zeichenfolge mit der Bezeichnung "DELETE FROM" + T.Table_Name

zu erstellen     
LesterDove 27.03.2010 15:19
quelle
2

Leider gibt es keine TRUNCATE DATABASE oder gleichwertig. Mit dieser Aussage könnten Sie wahrscheinlich eine Art von gespeicherter Prozedur verwenden, die alle Tabellen in Ihrer Datenbank durchläuft und diese abschneidet. Ich habe etwas von dieser Art hier gefunden , aber ich weiß nicht, ob es funktioniert. (Sie sollten wahrscheinlich auch die Kommentardiskussion lesen)

    
PatrikAkerstrand 27.03.2010 15:17
quelle
2

Die Anweisung TRUNCATE TABLE wird eine Tabelle vollständig leeren (MySql 3.23 und höher).

Sie können ein Skript erstellen, das Sie für eine bestimmte Datenbank wiederverwenden können. Es ist nicht generisch, sondern erspart Ihnen das Erstellen einer neuen Datenbank + Anmeldung jedes Mal, wenn Sie mit einer neuen Datenbank beginnen möchten.

So erstellen Sie selbst ein Skript: Gehen Sie in Ihrem Webbrowser zu phpMyAdmin und wählen Sie die Datenbank aus. Klicken Sie auf die Registerkarte SQL und führen Sie 'SHOW TABLES' aus. Wählen Sie das druckerfreundliche Format und kopieren Sie den Inhalt in einen Texteditor.

Für jeden Tabellennamen schreiben Sie ihn nun im folgenden Format neu:

%Vor%

Hinweis: Sie können einen regulären Ausdruck verwenden, wenn Sie viele Tabellen haben

    
mathijsuitmegen 07.03.2011 08:49
quelle
1
%Vor%     
Jon Black 27.03.2010 15:45
quelle
1

Sie können die Tabellenstrukturen nur so exportieren:

%Vor%

dann die gesamte Datenbank löschen, neu erstellen und aus dem Backup wiederherstellen.

Einfach genug, um die ganze Sache zu skripten.

    
josh kobrin 08.02.2014 17:07
quelle
0

Eigentlich ging es tiefer und schrieb dies:

%Vor%

Er wählt alle Tabellennamen aus dem bereitgestellten Schema YOUR_TABLE_SCHEMA aus und fügt sie in eine Benutzervariable @command ein, die für jede eine Abfrage wie folgt aussieht: TRUNCATE TABLE TABLE_NAME;

Dann bereite ich die ausgewählte Anweisung vor und führe sie aus. Beachten Sie, dass Sie die Benutzervariable vor der Abfrage deklarieren müssen, oder es wird 0 sein und unsere Anweisung durcheinander bringen.

Tutorial

  

Verwenden von MySQL DROP TABLE zum Entfernen vorhandener Tabellen

    
UnstableFractal 22.07.2015 06:57
quelle