it-swarm.com.ru

Как сбросить всю таблицу в MySQL?

Я не хочу отбрасывать базу данных,

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

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

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

ПРАВКА

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

19
user198729

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

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

7
Suraj Chandran

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

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

34
mkly

Вы также можете создать файл 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;
5
Warnaud

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

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

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]
3
codaddict
$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]); 
}

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

0
Leonard Daniel Bratosin