Как удалить несколько таблиц из одной базы данных одной командой. что-то вроде,
> use test;
> drop table a,b,c;
где a, b, c - таблицы из теста базы данных.
Как удалить несколько таблиц из одной базы данных одной командой. что-то вроде,
> use test;
> drop table a,b,c;
где a, b, c - таблицы из теста базы данных.
DROP TABLE
в запрос и дважды щелкать каждую желаемую таблицу, чтобы добавить ее имя в запрос (поставьте между ними запятую), затем нажмите F9 для выполнения. Немного не по теме, но я пришел сюда для этого.
DROP TABLE table_prefix_*
не работает с символом звезды: stackoverflow.com/questions/6758652/…
Ответы:
Пример:
Допустим, у таблицы 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;
Тогда вам не нужно беспокоиться о том, чтобы их сбросить в правильном порядке или о том, существуют ли они на самом деле.
NB это только для MySQL (как в вопросе). В других базах данных, вероятно, есть другие методы для этого.
Ленивый способ сделать это, если нужно удалить много таблиц.
Получите таблицу, используя приведенную ниже
Скопируйте и вставьте имена таблиц из набора результатов и вставьте его после команды DROP.
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