转到正文

天亮了说晚安's Blog

欢迎您的光临! http://www.tllswa.com

存档

分类: SQL Server

本文转自:https://blog.csdn.net/helloxiaozhe/article/details/82729554 相同点 TRUNCATE TABLE和DELETE都可以删除整个数据库表的记录 不同点 DELETEDML语言可以回退可以有条件的删除DELETE FROM 表名 WHERE 条件TRUNCATE TABLEDDL语言无法回退默认所有的表内容都删除删除速度比delete快TRUNCATE TABLE 表名DROP TABLE用于删除表(表的结构、属性以及索引也会被删除);DROP TABLE 表名 原理 DDL(Data Definition Language)数据定义语言,DML(Data Manipulation Language)数据操作语言。 TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令Delete将被撤销,而TRUNCATE则不会被撤销。TRUNCATE是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。TRUNCATE将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比Delete操作后的表要快得多。TRUNCATE不能触发任何Delete触发器。当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。不能清空父表。 优化 在数据库里,使用delete删除数据以后,数据库的存储容量不会减少,而且使用d......Read More

本文转自: https://www.cnblogs.com/liupeng61624/p/6110294.html SQL的自增列挺好用,只是开发过程中一旦删除数据,标识列就不连续了 写起来 也很郁闷,所以查阅了一下标识列重置的方法 发现可以分为三种: --- 删除原表数据,并重置自增列 truncate table tablename --truncate方式也可以重置自增字段 --重置表的自增字段,保留数据 DBCC CHECKIDENT (tablename,reseed,0) -- 设置允许显式插入自增列 SET IDENTITY_INSERT tablename ON -- 当然插入完毕记得要设置不允许显式插入自增列 SET IDENTITY_INSERT tablename Off Read More