比如数据库中有10张表,现在要对这10张表进行物理性删除,应该用哪个命令啊,知道的告诉一下,谢谢
sql删除数据库所有表
- 提问者网友:未信
- 2021-06-06 17:00
- 五星知识达人网友:躲不过心动
- 2021-06-06 17:58
use 数据库名(是要删除表的所在的那个数据库的名称)
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
-----------------------------------------------
use 数据库一定要填对哦......
- 1楼网友:鱼忧
- 2021-06-06 23:46
问题问的很雷人。你是说MYSQL还是MSSQL?
但是有个最终解决办法。
就是: 删除这个库。之后从新建立这个库。不就删除所有表了嘛。 哈哈。
- 2楼网友:杯酒困英雄
- 2021-06-06 22:41
declare @trun_name varchar(8000) set @trun_name='' select @trun_name=@trun_name + 'truncate table ' + [name] + ' ' from sysobjects where xtype='U' and status > 0 exec (@trun_name) |
declare @trun_name varchar(50) declare name_cursor cursor for select 'truncate table ' + name from sysobjects where xtype='U' and status > 0 open name_cursor fetch next from name_cursor into @trun_name while @@FETCH_STATUS = 0 begin exec (@trun_name) print 'truncated table ' + @trun_name fetch next from name_cursor into @trun_name end close name_cursor deallocate name_cursor |
exec sp_msforeachtable "truncate table ?" |
- 3楼网友:西岸风
- 2021-06-06 21:46
- 4楼网友:低血压的长颈鹿
- 2021-06-06 20:40
use test drop table testid
其中test为数据库名
testid为数据表名
- 5楼网友:摆渡翁
- 2021-06-06 19:10