Wie kann ich alle MySQL-Tabellen von der Befehlszeile löschen?

Normalerweise öffne ich Terminal.app und eine Verbindung zu einer entfernten MySQL-Datenbank.

Dann benutze ich diesen Befehl, um eine Tabelle zu löschen:

mysql> drop table [table name];

Aber was ich brauche, ist die Befehlszeile, um alle Tabellen in der Datenbank zu löschen.

Wenn ich benutze:

mysql> drop database [database name];

Ich werde die Datenbank vollständig zerstören und keine Tabellen mehr erstellen können. Habe ich Recht?

Author: fixer1234, 2011-07-08

3 answers

Sie können die Datenbank löschen und dann sofort neu erstellen:

mysql> drop database [database name];
mysql> create database [database name];

Oder Sie können ein Skript verwenden, um jede Tabelle in der Datenbank abzulegen.

 29
Author: William Jackson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-07-08 11:46:47

Sie können den folgenden Befehl versuchen:

mysqldump --no-data --add-drop-table DB_NAME | grep ^DROP | mysql -v DB_NAME

Oder:

mysql --silent --skip-column-names -e "SHOW TABLES" DB_NAME | xargs -L1 -I% echo 'DROP TABLE `%`;' | mysql -v DB_NAME

Wobei DB_NAME Ihr Datenbankname ist. Datenbankanmeldeinformationen Sie können entweder in ~/.my.cnf angeben oder sie dem Befehl hinzufügen (z. B. -uroot -proot).

Diese Methode hat einige Vorteile gegenüber dem Löschen und Erstellen der Datenbank, falls Ihr Datenbankbenutzer keine Berechtigung zum Löschen hat.

 10
Author: kenorb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-10-27 11:37:18

mysql -u USERHERE -pPASSWORDHERE --silent --skip-column-names -e "SHOW TABLES" DATABASENAMEHERE | xargs -L1 -I% echo 'SET FOREIGN_KEY_CHECKS = 0; DROP TABLE%; SET FOREIGN_KEY_CHECKS = 1;' | mysql -u USERHERE -pPASSWORDHERE -v DATABASENAMEHERE

 2
Author: sveilleux2,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-02-08 15:04:11