3 способа удалениях всех таблицы в базе данных MySQL, MariaDB

Часто возникает вопрос, как удалить все таблицы в базе данных MySQL, MariaDB. Ниже рассмотрим несколько вариантов.

В общем случае удалить таблицы из базы данных можно командой в консоли mysql:

mysql> USE databasename; mysql> DROP table00 table01, table02;

Если у вас таблиц десятки и сотни, очевидно, что вручную их указывать неудобно. Ниже рассмотрим несколько вариантов удаления.

Просто удаляем базу данных. Пользователя удаляемой базы данных создавать заново не надо, все его права сохранятся. И потом импортируем как обычно.

mysql -u root -p
 
SHOW DATABASES;
DROP DATABASE [IF EXISTS] database_name;

В SQL запросе ниже замените testdb на имя базы данных, которую вы хотите удалить. Будет сгенерирован пакет операторов SQL, вам нужно снова запустить набор результатов, которые удалят все таблицы без удаления базы данных.

SELECT concat('DROP TABLE IF EXISTS ', TABLE_NAME, ';')
FROM information_schema.tables
WHERE table_schema = 'testdb';

В консоли вы получите такой набор команд:

+----------------------------------------------------+
| concat('DROP TABLE IF EXISTS ', TABLE_NAME, ';')   |
+----------------------------------------------------+
| DROP TABLE IF EXISTS cm_options;                   |
| DROP TABLE IF EXISTS cm_usermeta;                  |
| DROP TABLE IF EXISTS cm_users;                     |
| DROP TABLE IF EXISTS cm_term_taxonomy;             |
| DROP TABLE IF EXISTS cm_termmeta;                  |
| DROP TABLE IF EXISTS cm_commentmeta;               |
+----------------------------------------------------+

Выше 2 способа позволяли удалять таблицы из консоли mysql, но если у вас установлен phpmyadmin, тогда проще удалить через него.

PQ VPS сервера в 28+ странах.