delete、truncate table和drop table的区别:
(1、)首先它的共同点都是删除数据,drop是将表也给删除了
(2)、delete只是单单的删除表中的数据,但是它执行的速度是比较慢的,因为它要记录日志信息,也就是说,使用delete语句,系统将一次一行地处理要删除的表中的记录,在从表中删除行之前,在事务处理日志中记录相关的删除操作和删除行中的列值,以防止删除失败时,可以使用事务处理日志来恢复数据。
(3)、truncate table则一次性完成删除与表在关的所有数据页的操作。另外,truncate table语句并不更新事务处理日志。由此,在sql server中,使用truncate table语句从表中删除行后,将不能用取消行的删除操作(删除数据不能恢复),但是它没有删除表结构。
(4)、drop table直接删除数据表和表结构。
突然想到了,删除一个表的主键的方法,一起来看看:
alter table studenttest add constraint stu_snoa primary key clustered(sno)--这是创建主键的方法
alter table studenttest drop constraint stu_snoa--这是删除主键的方法,这里其实就只是删除了一个约束,约束一删除主键就没有了
本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/416805,如需转载请自行联系原作者