sqlserver删除所有表(表结构和数据)
要删除某个数据库,或者删除数据库中的所有表(删除表结构和数据),需要先删除表间的外键约束,才能删除表。如删除数据库db_wy中的所有表:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | --/第1步**********删除所有表的外键约束*************************/ DECLARE c1 cursor for select 'alter table [' + object_name(parent_obj) + '] drop constraint [' + name + ']; ' from sysobjects where xtype = 'F' open c1 declare @c1 varchar (8000) fetch next from c1 into @c1 while(@@fetch_status=0) begin exec (@c1) fetch next from c1 into @c1 end close c1 deallocate c1 --/第2步**********删除所有表*************************/ use db_wy GO declare @sql varchar (8000) while ( select count (*) from sysobjects where type= 'U' )>0 begin SELECT @sql= 'drop table ' + name FROM sysobjects WHERE (type = 'U' ) ORDER BY 'drop table ' + name exec (@sql) end |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步