【发布时间】:2011-06-11 01:14:55
【问题描述】:
可能重复:
Truncate all tables in a MySQL database in one command?
我需要在不知道表名的情况下使用单个命令删除或删除 MySQL 数据库中的所有表。这可能吗?
【问题讨论】:
可能重复:
Truncate all tables in a MySQL database in one command?
我需要在不知道表名的情况下使用单个命令删除或删除 MySQL 数据库中的所有表。这可能吗?
【问题讨论】:
drop database YOUR_DATABASE;
/* this will delete all the tables for this database */
create database YOUR_DATABASE;
/* added back the database namespace */
【讨论】:
相当长,但试试这个命令(替换明显的东西之后):
mysql --user=YOUR_USERNAME --password=YOUR_PASSWORD -BNe "show tables" YOUR_DBSCHEMA_NAME | tr '\n' ',' | sed -e 's/,$//' | awk '{print "SET FOREIGN_KEY_CHECKS = 0;DROP TABLE IF EXISTS " $1 ";SET FOREIGN_KEY_CHECKS = 1;"}' | mysql --user=YOUR_USERNAME --password=YOUR_PASSWORD YOUR_DBSCHEMA_NAME
【讨论】: