怎样清空SQL SERVER数据库,清空后让表的ID自增列从1开始??
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样清空SQL SERVER数据库,清空后让表的ID自增列从1开始??相关的知识,希望对你有一定的参考价值。
数据库名:class
要清空的表名:课程表 学生表 选课表
求代码,多谢!!!
1.使用DBCC控制台命令:
dbcc checkident(表名,RESEED,0)
2.truncate table 也可将当前标识值清零
但当有外键等约束时,无法truncate表
可以先禁用外键约束来truncate表:
--禁用外键约束
exec sp_msforeachtable 'alter table ? nocheck constraint all'
--清空数据
truncate table 表名
--启用外键约束
exec sp_msforeachtable 'alter table ? check constraint all'
我常用 truncate table 进行数据表内数据的清空,同时将ID列重新开始计数!
truncate table 课程表
truncate table 学生表
truncate table 选课表 参考技术A
清空数据库用语句
drop database 数据库名;如果是清空表并让id自增列从1开始的话,需要按如下步骤:
1、清空表
truncate table 表名;2、删除ID列
3、新增ID列为自增字段
怎样清空数据库sql 2000,清空后让表的id从1开始
1、可以看到向mysql数据库表中新增一条记录,id为59818,可是明明只有一条记录。
2、可以通过“truncate table 表名”方式重置清空id,让id从1开始自动递增。
3、运行“truncate table crew_test”语句,进行重置清空crew_test表id。
4、再次打开crew_test表,新增两条记录,可以看到id从1开始递增。
5、如果想避免id间隔的问题,可以不设置id为自动递增,设计表之后,将id字段的自动递增取消。
6、将id设置为字符类型,然后通过程序随机生成不重复的字符串,新增数据的时候给id赋值。
参考技术A具体操作步骤如下:
1、首先,打开sql,可以看到有一条新记录添加到了ID为59818的mysql数据库表中,但是显然只有一条记录,如下图所示,然后进入下一步。
2、其次,可以通过truncate table 表名来清除ID,以便ID自动从1开始增加,如下图所示,然后进入下一步。
3、接着,输入“
truncate table crew_test”并运行,以重置并清除crew_test表ID,如下图所示,然后进入下一步。
4、最后,再次打开crew_test表,并添加两个新的记录。可以看到表的id从1开始增加,如下图所示。这样,问题就解决了。
参考技术B TRUNCATE TABLE
删除表中的所有行,而不记录单个行删除操作。
语法
TRUNCATE TABLE name
TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。
TRUNCATE TABLE 清空表所有数据,而且使标识列从标识种子(一般标识种子从1开始)重新开始 参考技术C 可以在当前的数据库下自己写个存储过程来执行这些操作
存储过程如下:
CREATE PROCEDURE DeleteAll
AS
begin
declare @name nvarchar(50)
declare @sql nvarchar(50)
declare TableName CURSOR
FOR (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE ='BASE TABLE')
open TableName
fetch next from TableName into @name
while (@@fetch_status=0)
begin
select @sql = 'delete ' + @name
print @sql
execute sp_executesql @sql --删除表的数据
DBCC CHECKIDENT(@name,reseed,1) --重新设置ID种子
fetch next from TableName into @name
end
close TableName
DEALLOCATE TableName
end
GO
你自己在调试下看符不符合你的要求本回答被提问者采纳 参考技术D truncate table '表名' 这个命令,可以清空数据,而且不产生删除日志,可以让自增ID从新开始。
以上是关于怎样清空SQL SERVER数据库,清空后让表的ID自增列从1开始??的主要内容,如果未能解决你的问题,请参考以下文章