Normalerweise öffne ich Terminal.app und verbinde mich mit 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 komplett zerstören und keine Tabellen mehr erstellen können. Habe ich recht?
command-line
terminal
mysql
chefnelone
quelle
quelle
Antworten:
Sie können die Datenbank löschen und sofort neu erstellen:
Sie können auch ein Skript verwenden, um jede Tabelle in der Datenbank zu löschen.
quelle
Sie können den folgenden Befehl versuchen:
Oder:
Wo
DB_NAME
ist Ihr Datenbankname? Datenbankanmeldeinformationen können Sie entweder in angeben~/.my.cnf
oder dem Befehl hinzufügen (z-uroot -proot
. B. ).Diese Methode bietet einige Vorteile gegenüber dem Löschen und Erstellen der Datenbank, falls Ihr Datenbankbenutzer nicht berechtigt ist, die Datenbank zu löschen.
quelle
--silent
und-v
/--verbose
bzw. wie:--user=username --password=password --host=host.name
| sort -r
zu Reverse Line, aber immer noch nicht kompatibel einige db.mysql -u USERHERE -pPASSWORDHERE --silent --skip-column-names -e "SHOW TABLES" DATABASENAMEHERE | xargs -L1 -I% echo 'SET FOREIGN_KEY_CHECKS = 0; DROP TABLE
%;' | mysql -u USERHERE -pPASSWORDHERE -v DATABASENAMEHERE
quelle