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


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

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

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

3 84

3 ответа:

пример:

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

DROP TABLE IF EXISTS B,C,A;

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

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

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

N. B. Это только для MySQL (как в вопросе). Другие базы данных, вероятно, имеют различные методы для этого.

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