MySQL verwendet den Befehl truncate, um alle Tabellen in einer Datenbank schnell zu löschen

MySQL verwendet den Befehl truncate, um alle Tabellen in einer Datenbank schnell zu löschen

1. Führen Sie zuerst die Select-Anweisung aus, um alle Truncate-Anweisungen zu generieren

Anweisungsformat:

Wählen Sie CONCAT('truncate TABLE ',table_schema,'.',TABLE_NAME, ';') aus INFORMATION_SCHEMA.TABLES, wobei table_schema in ('Tabellenschema1', 'Tabellenschema2') ist.

Nehmen Sie die Datenbank mit dem Namen dbname als Beispiel und führen Sie die Select-Anweisung aus:

mysql> wählen Sie CONCAT('truncate TABLE ',table_schema,'.',TABLE_NAME, ';') aus INFORMATION_SCHEMA.TABLES, wobei table_schema in ('dbname'); 
+------------------------------------------------------------+ 
| CONCAT('TABELLE abschneiden ',Tabellenschema,'.',TABELLENNAME, ';') | 
+------------------------------------------------------------+ 
| TABELLE dbname.ABOUTUSINFO abschneiden; | 
| TABELLE abschneiden dbname.ABUTMENT; | 
| TABELLE abschneiden dbname.ABUTMENTFILE; | 
| TABLE dbname.ACHVORG abschneiden; | 
| TABLE dbname.WORKFLOWNODE abschneiden; | 
| TABELLE abschneiden dbname.ZONESERVICE; | 
| TABELLE dbname.ZONESERVICEFILE abschneiden; | 
+------------------------------------------------------------+ 
7 Reihen im Set 

MySQL> 

2. Ersetzen Sie das „|“ vor und nach jeder Truncate-Anweisung durch ein Leerzeichen

Verwenden Sie einen Texteditor (z. B. Notepad++), um das „|“ vor und nach jeder Truncate-Anweisung durch ein Leerzeichen zu ersetzen, um das Kopieren und Ausführen mehrerer Anweisungen auf einmal zu erleichtern.

Vor dem Austausch:

Nach dem Austausch:

3. Kopieren Sie die Truncate-Anweisung in die MySQL-Befehlszeile und führen Sie sie aus

Kopieren Sie die Truncate-Anweisung zur Ausführung in die MySQL-Befehlszeile. Sie können mehrere Anweisungen gleichzeitig zur Ausführung kopieren.

mysql> TABELLE abschneiden dbname.ZONESERVICE;  
Abfrage OK, 0 Zeilen betroffen 
MySQL> 

Dadurch werden alle Tabellen in der Datenbank gelöscht. Es ist ganz einfach~

Vergleich zwischen Truncate, Drop und Delete

Wie oben erwähnt, ist Truncate Delete und Drop sehr ähnlich. Tatsächlich gibt es zwischen diesen dreien noch erhebliche Unterschiede. Im Folgenden finden Sie einen kurzen Vergleich der Ähnlichkeiten und Unterschiede zwischen den dreien.

  • „truncate“ und „drop“ sind DDL-Anweisungen und können nach der Ausführung nicht zurückgesetzt werden; „delete“ ist eine DML-Anweisung und kann zurückgesetzt werden.
  • „truncate“ kann nur auf Tabellen angewendet werden; „delete“ und „drop“ können auf Tabellen, Ansichten usw. angewendet werden.
  • Mit Truncate werden alle Zeilen in der Tabelle gelöscht, die Tabellenstruktur und ihre Einschränkungen, Indizes usw. bleiben jedoch unverändert. Mit drop werden die Tabellenstruktur und die Einschränkungen, Indizes usw. gelöscht, von denen sie abhängt.
  • Durch Abschneiden wird der Autoinkrementwert der Tabelle zurückgesetzt. Durch Löschen geschieht dies nicht.
  • Durch Truncate werden die mit der Tabelle verknüpften Löschtrigger nicht aktiviert; durch Löschen geschieht dies.
  • Nach dem Abschneiden wird der von der Tabelle und dem Index belegte Speicherplatz auf die ursprüngliche Größe zurückgesetzt. Der Löschvorgang verringert den von der Tabelle oder dem Index belegten Speicherplatz nicht und die Drop-Anweisung gibt den gesamten von der Tabelle belegten Speicherplatz frei.

Dies ist das Ende dieses Artikels über die Verwendung des MySQL-Befehls „truncate“, um alle Tabellen in einer Datenbank schnell zu löschen. Weitere Informationen zum Löschen von Datenbanktabellen mithilfe von MySQL „truncate“ finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Wenn Navicat Premium eine Verbindung zur Datenbank herstellt, wird die Fehlermeldung „2003 Verbindung zum MySQL-Server auf „localhost“ nicht möglich (10061)“ angezeigt.
  • Detailliertes Tutorial zur Installation der MySQL-Datenbank auf Alibaba Cloud Server
  • Hinweise zum MySQL-Datenbank-Sicherungsprozess
  • Detaillierte Erklärung zur Verbindung mit einer MySQL-Datenbank mit Java in IntelliJ IDEA
  • MySql legt die angegebenen Benutzerdatenbankansichtsabfrageberechtigungen fest
  • Jmeter implementiert MySQL-Datenbanktests basierend auf JDBC-Anfragen
  • Implementierung einer Python-Verbindung zur MySQL-Datenbank und zum Lesen von Daten
  • Python betreibt MySQL-Datenbank
  • So migrieren Sie lokales MySQL in eine Serverdatenbank

<<:  Implementierung von Nginx-Filterzugriffsprotokollen für statische Ressourcendateien

>>:  Vue realisiert die Funktion zum Hochladen von Fotos auf den PC

Artikel empfehlen

MySQL-Datenbankgrundlagen - Prinzip der Join-Operation

Join verwendet den Nested-Loop-Join-Algorithmus. ...

Detaillierte Schritte zum Einrichten eines Nexus-Servers

1. Die Bedeutung des Aufbaus eines Nexus-Dienstes...

Detaillierte Erklärung des MySQL-Triggerbeispiels

Inhaltsverzeichnis Was ist ein Auslöser Erstellen...

So deinstallieren Sie MySQL 5.7 unter CentOS7

Überprüfen Sie, was in MySQL installiert ist grep...

IE8 bietet eine gute Erfahrung: Aktivitäten

Heute habe ich einen kleinen Vorgeschmack auf IE8...

So legen Sie den Fokus auf HTML-Elemente fest

Code kopieren Der Code lautet wie folgt: <Körp...

Teilen Sie 101 MySQL-Debugging- und Optimierungstipps

MySQL ist eine leistungsstarke Open-Source-Datenb...

HTML-Tabellen-Markup-Tutorial (14): Tabellenkopf

<br />In der HTML-Sprache können Sie der Tab...