sql中 truncate 和 delete 有什么区别?

 我来答
芃了个砰
推荐于2017-09-06 · 超过23用户采纳过TA的回答
知道答主
回答量:177
采纳率:0%
帮助的人:51.7万
展开全部
简单的说:
truncate删除表比较快,但删除的数据不能恢复,只能删除表中的所有数据
而delete删除比truncate慢,删除的数据可以恢复,后面可以跟where条件删除某些指定记录。
前者不可rollback
后者可以rollback
icelingk
2011-03-04 · 超过16用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:57.6万
展开全部
truncate是ddl语言,所以删除很快,但不能rollback
delete是dml语言,删除要记录到日志里边,所以可以rollback
另外truncate会恢复自增字段的原始值
delete不会
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
能得凤城兴2946
2011-03-05 · TA获得超过704个赞
知道小有建树答主
回答量:575
采纳率:30%
帮助的人:236万
展开全部
表中删除已存在的索引。

DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项

Truncate是SQL中的一个删除数据表内容的语句,用法是:
TRUNCATE TABLE [Table Name]。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fan6081142
2011-03-04 · 超过32用户采纳过TA的回答
知道答主
回答量:127
采纳率:0%
帮助的人:95.3万
展开全部
同意,楼上 不能rollback 是因为 truncate 不会计入日志中去,delete 则会计入日志中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式