在mysql中一次删除多个表

如何在一个命令中从一个数据库中删除多个表。 就像是,

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

其中a,b,c是来自数据库testing的表格。

例:

假设表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; 

那么你不必担心按照正确的顺序放置它们,也不必担心它们是否真的存在。

 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