首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

MySQL剔除数据语句Delete和Truncate

2012-07-04 
MySQL删除数据语句Delete和Truncate在用insert into向数据库中增加数据的时候,发现如果delete某行之后id就

MySQL删除数据语句Delete和Truncate
在用insert into向数据库中增加数据的时候,发现如果delete某行之后id就不连续了。于是找了相关的资料:

-------------------------------------分割线---------------------------------------------
MySQL为我们提供了delete和truncate语句来删除数据。

delete 语句的定义:
经常和数据库打交道的孩子们,删除数据的时候用的大多都是 delete 语句。现在让我们来看一下 delete语句的定义。

truncate table friends;


truncate 和 delete的效率问题:
    如果想要删除表的所有数据,truncate语句要比 delete 语句快。因为 truncate 删除了表,然后根据表结构重新建立它,而 delete 删除的是记录,并没有尝试去修改表。这也是为什么当向一个使用 delete 清空的表插入数据时,MySQL 会记住前面产生的AUTOINCREMENT序列,并且继续利用它对AUTOINCREMENT字段编号。而truncate删除表后,表是从1开始为autoincrement字段编号。

不过truncate命令快规快,却不像delete命令那样对事务处理是安全的。因此,如果我们想要执行truncate删除的表正在进行事务处理,这个命令就会产生退出并产生错误信息。

转自http://blog.csdn.net/BigBird2012/article/details/6340424

热点排行