Habituellement, j'ouvre Terminal.app et me connecte à une base de données MySQL distante.
Ensuite, j'utilise cette commande pour déposer une table:
mysql> drop table [table name];
Mais ce dont j'ai besoin, c'est de la ligne de commande pour supprimer toutes les tables de la base de données.
Si j'utilise:
mysql> drop database [database name];
Je détruirai complètement la base de données et je ne pourrai plus créer de tables. Ai-je raison?
command-line
terminal
mysql
chefnelone
la source
la source
Réponses:
Vous pouvez supprimer la base de données puis la recréer immédiatement:
Ou vous pouvez utiliser un script pour supprimer chaque table de la base de données.
la source
Vous pouvez essayer la commande suivante:
Ou:
Où
DB_NAME
est le nom de votre base de données. Informations d'identification de la base de données que vous pouvez spécifier dans~/.my.cnf
ou ajouter à la commande (par exemple-uroot -proot
).Cette méthode présente certains avantages par rapport à la suppression et à la création de la base de données au cas où votre utilisateur de base de données ne serait pas autorisé à la supprimer.
la source
--silent
et-v
/--verbose
respectivement comme:--user=username --password=password --host=host.name
| sort -r
à la ligne inverse, mais toujours pas compatible certains 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
la source