A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 毕山山 黑马帝   /  2011-11-18 18:52  /  3486 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

truncate  和delete在删除数据的时候有什么不同?  求解释

评分

参与人数 1技术分 +1 收起 理由
陈涛 + 1

查看全部评分

6 个回复

倒序浏览
付炯 黑马帝 2011-11-18 19:35:36
沙发
http://wenku.baidu.com/view/afc19d3b87c24028915fc343.html
看一下这篇文章吧 我觉得已经说得很详细了

评分

参与人数 1技术分 +1 收起 理由
陈涛 + 1

查看全部评分

回复 使用道具 举报
truncate table命令将快速删除数据表中的所有记录,但保留数据表结构。这种快速删除与delete from 数据表的删除全部数据表记录不一样,delete命令删除的数据将存储在系统回滚段中,需要的时候,数据可以回滚恢复,而truncate命令删除的数据是不可以恢复的

评分

参与人数 1技术分 +1 收起 理由
陈涛 + 1

查看全部评分

回复 使用道具 举报
truncate  和delete的不同:
   1.再删除带有id(自增长的)的数据时truncate会删除掉所有数据,并且插入的时候会从新从1(identity设置的开始是1)开始插入
   delete删除的时候只是删除数据不会连同主键的序号(原理是结构)一起删除,如果你数据的最后一个行号是222,执行删除所
有的数据后,delete执行的结果是:再插入时数据的id(主键)是223,而truncate执行后插入数据的id(主键)是1

评分

参与人数 1技术分 +1 收起 理由
陈涛 + 1

查看全部评分

回复 使用道具 举报
杜鹏同学讲滴好哇,学习了
回复 使用道具 举报
乔克 黑马帝 2011-11-19 22:21:50
地板
1.truncate :快速删除表数据,但保留表结构;        
2.truncate :不能触发任何delete触发器。
3.truncate :不会被ROLLBACK撤销;        delete:被ROLLBACK撤销。
4.truncate :是一个DDL语言,不能对truncate使用ROLLBACK命令。


回复 使用道具 举报
王兵 中级黑马 2012-12-22 14:00:50
7#
Delete 只是删除数据,表还在,还可以继续添加表中的数据,
而drop table不同,直接就将表名删除了,如果新添加数据还得重新建立表,才能添加数据。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马