Как удалить всю таблицу в MySQL?
Я не хочу сбрасывать базу данных,
потому что я не размещаю веб-сайт на своей собственной машине,
drop база данных потребует создать его снова, и многие настройки.
есть ли команда в MySQL, которая может использоваться для удаления всех таблиц в определенной базе данных?
редактировать
все, что я могу сделать, это в пределах phpMyAdmin и
5 ответов
mysqldump-u[имя пользователя] - p[пароль] -- add-drop-table --no-data [база данных] / grep ^DROP / mysql-u[имя пользователя] - p[пароль] [база данных]
здесь существует больше методов для удаления всех таблиц без удаления базы данных.
вы говорили об этом в phpMyAdmin.
Я просто должен был сделать это, и я не уверен, какую версию вы используете, но в версии, которую я имею, если вы прокрутите до нижней части списка таблиц, вы можете нажать "Проверить все", а затем в раскрывающемся списке рядом с ним, который имеет "с выбранным:" вы можете выбрать "падение", и он опустошает все таблицы.
вы также можете создать файл sql из базы данных information_schema:
Select concat('DROP TABLE database_name.', table_name,';') from information_schema.TABLES where table_schema='database_name';
это даст такой результат, как:
DROP TABLE database_name.table1;
DROP TABLE database_name.table2;
[...]
DROP TABLE database_name.tableN;
Я не знаю ничего прямого, чтобы удовлетворить ваши потребности. Вы можете попробовать сделать следующее:
запустите это, чтобы показать свои команды drop:
mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] |
grep ^DROP
Nex вы можете сделать это, чтобы фактически выполнить команды drop:
mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] |
grep ^DROP |
mysql -u[USERNAME] -p[PASSWORD] [DATABASE]
$q=mysql_query("SHOW TABLES FROM ".SQL_DATABASE_NAME);
while($r=mysql_fetch_assoc($q)){
mysql_query("DROP TABLE ".$r["Tables_in_".SQL_DATABASE_NAME]);
}
это работает для меня!