Удаление нескольких таблиц одним выстрелом в 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