Удаление нескольких таблиц одним выстрелом в mysql

Как удалить несколько таблиц из одной базы данных по одной команде. что-то вроде

> use test; 
> drop table a,b,c;

где a, b, c - таблицы из теста базы данных.

Ответ 1

Пример:

Скажем, таблица A имеет двух детей B и C. Затем мы можем использовать следующий синтаксис для удаления всех таблиц.

DROP TABLE IF EXISTS B,C,A;

Это может быть помещено в начало script вместо индивидуального удаления каждой таблицы.

Ответ 2

SET foreign_key_checks = 0;
DROP TABLE IF EXISTS a,b,c;
SET foreign_key_checks = 1;

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

Ответ 3

declare @sql1 nvarchar(max) 
SELECT @sql1 =
  STUFF(
         (
           select ' drop table dbo.[' + name + ']'

           FROM sys.sysobjects AS sobjects
           WHERE (xtype = 'U') AND (name LIKE 'GROUP_BASE_NEW_WORK_%')
           for xml path('')
        ),
     1, 1, '')

  execute sp_executesql @sql1