!!! Пожалуйста, будьте осторожны и осознанно подходите к тому, чтобы удалять какие-либо ресурсы в stable и production окружениях.
Есть два способа как удалить все таблицы в MySQL без удаления базы данных
1. Использование mysqldump
Самый простой способ удалить таблицы MySQL, заключается в использовании mysqldump:
mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]
Переменные, которые указаны выше, [USERNAME], [PASSWORD] и [DATABASE] это опции вашей базы данных. Вы можете менять USERNAME, PASSWORD и DATABASE, как вам угодно.
2. Использование SQL-запросов
Второй способ, используя некоторые конструкции MySQL для формирования списка таблиц и последующего их удаления:
SET FOREIGN_KEY_CHECKS = 0;
SET @tables = NULL;
SELECT GROUP_CONCAT(table_schema, '.', table_name)
INTO @tables
FROM information_schema.tables
WHERE table_schema = 'database_name'; -- specify DB name here.
SET @tables = CONCAT('DROP TABLE IF EXISTS ', @tables);
PREPARE stmt FROM @tables;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET FOREIGN_KEY_CHECKS = 1;
Вышеуказанный код скопирован и немного изменен, с учетом некоторых правок, с сайта stackoverflow.com
Материалы страницы: