如何在一个命令下从一个数据库删除多个表。 比如,
> 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 的。其他数据库可能有不同的方法来实现这一点。
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
如果有很多表要删除,这是一种懒惰的方法。
使用下面的命令获取表
复制并粘贴结果集中的表名,并在 DROP 命令之后粘贴它。