2012-02-09 2 views
-2

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

Капля таблицы не похожа на префикс%;

, пожалуйста, предложите мне правильный запрос, чтобы сделать это ??

+2

можно дублировать в http://stackoverflow.com/questions/8393550/mysql-drop -tables-с маска_ввода_источником-использование только-SQL-оператор –

ответ

2

Вы не можете сделать это с помощью одной команды MySQL, однако, вы можете использовать MySQL, чтобы построить заявление для вас:

В оболочке MySQL или через PHPMyAdmin, используйте следующий запрос

SELECT CONCAT('DROP TABLE ', GROUP_CONCAT(table_name) , ';') 
AS statement FROM information_schema.tables 
WHERE table_name LIKE 'myprefix_%'; 

Это приведет к созданию оператора DROP, который вы можете скопировать и выполнить, чтобы удалить таблицы.

EDIT: отказ от ответственности здесь - инструкция, сгенерированная выше, приведет к удалению всех таблиц во всех базах данных с этим префиксом. Если вы хотите ограничить его к конкретной базе данных, изменить запрос, чтобы посмотреть, как это и заменить database_name с собственным имя_базы_данным:

SELECT CONCAT('DROP TABLE ', GROUP_CONCAT(table_name) , ';') 
AS statement FROM information_schema.tables 
WHERE table_schema = 'database_name' AND table_name LIKE 'myprefix_%'; 
Смежные вопросы