如何通过一个命令从一个数据库中删除多个表。就像是,
> use test;
> drop table a,b,c;
其中 a,b,c 是数据库测试中的表。
如何通过一个命令从一个数据库中删除多个表。就像是,
> use test;
> drop table a,b,c;
其中 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;
然后您不必担心以正确的顺序放置它们,也不必担心它们是否真的存在。
注意,这仅适用于 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