查询中可用delete、drop、truncate table删除语句,那么它们在使用上有什么区别?希望不吝赐教

 我来答
心里一愣
2008-11-02 · TA获得超过1315个赞
知道小有建树答主
回答量:319
采纳率:0%
帮助的人:187万
展开全部
TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。
DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。
TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。
如果想保留标识计数值,请改用 DELETE。
如果要删除表定义及其数据,请使用 DROP TABLE 语句。
百度网友6cf810b68
2008-11-02 · TA获得超过946个赞
知道大有可为答主
回答量:1403
采纳率:0%
帮助的人:1525万
展开全部
delete可以删除table中的行,而drop则是来删除table的

truncate table 在删除的时候不给sqlserver系统记录添加删除日志..

功能和delete 差不多

还有一点 truncate table最重要的功能..呵呵.我认为的.

比如现在你有一个表a 有一个自动标识列id

如果你id数据自动加到20了.你把表用delete删除,那么再重新插入记录 id自动标识为 21 但是你如果用truncate table 的话.那么id会从1重新标识
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
张小刚爱生活
2008-11-02 · TA获得超过1025个赞
知道大有可为答主
回答量:2140
采纳率:100%
帮助的人:544万
展开全部
delete 删除表部分或者全部记录,可以根据条件删除
drop 删除表,当然记录也就全没了
truncate table 与delete类似,删除所有记录,不可带有where 删除同时不记录日志,所以删除速度快
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
314649444
2008-11-02 · TA获得超过232个赞
知道小有建树答主
回答量:331
采纳率:0%
帮助的人:195万
展开全部
delete是删除表中的行,而drop则是来删除表的结构或者叫做表的定义
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dudu001989
2008-11-02 · 超过11用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:24.4万
展开全部
delete可以删除table中的行,而drop则是来删除table的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4630525
2008-11-02
知道答主
回答量:45
采纳率:0%
帮助的人:25.1万
展开全部
delete可以删除部分,drop是完全删除。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式