您的位置:首页 > 数据库 > MySQL

mysql中删除数据表数据的两种方式

2017-12-11 15:26 597 查看
一、今天在写存储过程时,需要制执行前清空数据表,于是乎用了delete from table 的方式,后来被告知这种写法针对数据多的时候其效率会降低,于是乎就有了下面的东西,

二、delete from tableName 和 truncate table tableName

都是删除表内数据,但有几点区别:

1)执行速度和灵活性

truncate 执行速度更快,delete 更灵活

2)返回值不同

truncate 返回值 0

delete 返回删除了的行数

3)恢复自增字段初始值

truncate 恢复自增字段初始值

delete 不恢复,不管是否带 where 1 都不恢复自增字段的初始值

4)支持部分数据删除,即支持 WHERE 、 ORDER BY 和 LIMIT 子句

truncate 不支持,只能全部删掉表内所有数据

delete 支持,可以通过 WHERE 语句,及 ORDER BY 和 LIMIT 确定要删除的数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: