Как сбросить всю таблицу в MySQL? - PullRequest
19 голосов
/ 03 февраля 2010

Я не хочу удалять базу данных,

, потому что я не размещаю веб-сайт на своей собственной машине,

Для удаления базы данных потребуется создать ее снова и множество настроек.

Есть ли в MySQL команда, которую можно использовать для удаления всех таблиц в конкретной базе данных?

РЕДАКТИРОВАТЬ

Все, что я могу сделать, находится в пределах phpMyAdmin

Ответы [ 5 ]

34 голосов
/ 17 декабря 2011

Вы говорили об этом в phpMyAdmin.

Мне просто нужно было это сделать, и я не уверен, какую версию вы используете, но в той версии, которая у меня есть, если вы прокрутите до конца списка таблиц, вы можете нажать «Проверить все», а затем в раскрывающемся списке далее для него, который имеет «С выбранным:», вы можете выбрать «Отброс», и он очищает все таблицы.

7 голосов
/ 03 февраля 2010

mysqldump -u [ИМЯ ПОЛЬЗОВАТЕЛЯ] -p [ПАРОЛЬ] --add-drop-table --no-data [БАЗА ДАННЫХ] |grep ^ DROP |mysql -u [ИМЯ ПОЛЬЗОВАТЕЛЯ] -p [ПАРОЛЬ] [БАЗА ДАННЫХ]

Здесь есть другие способы удаления всех таблиц без удаления базы данных.

5 голосов
/ 05 июля 2011

Вы также можете создать файл 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;
3 голосов
/ 03 февраля 2010

Я не знаю ничего прямого, чтобы удовлетворить ваши потребности.Вы можете попробовать сделать следующее:

Запустите это, чтобы показать ваши команды сброса:

mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | 
grep ^DROP


Nex вы можете сделать это, чтобы фактически выполнить команды сброса:

mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | 
grep ^DROP | 
mysql -u[USERNAME] -p[PASSWORD] [DATABASE]
0 голосов
/ 15 февраля 2014
$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]); 
}

это работает для меня!

...