1.drop
drop和delete、truncate这两个命令只删除表的行数据不同,drop 会把整张表的行数据和表结构一起删除掉
DROP TABLE tbl_name
2.detele
在 InnoDB 引擎中,delete 操作并不是真的把数据删除掉了,而是给数据打上删除标记,标记为删除状态,使用了 delete 删除所有的数据之后,并不会重置自增列为初始值
可用于删除表的部分或所有数据,它的使用语法如下:
delete from table_name [where...] [order by...] [limit...]
[] 中的命令为可选命令,可以被省略。
3.truncate
truncate 执行效果和 delete 类似,也是用来删除表中的所有行数据的,truncate 在使用上和 delete 最大的区别是,delete 可以使用条件表达式删除部分数据,而 truncate 不能加条件表达式,所以它只能删除所有的行数据
truncate [table] table_name
truncate 在 InnoDB 引擎中会重置自增列
4.三者的区别
- 数据恢复方面:delete 可以恢复删除的数据,而 truncate 和 drop 不能恢复删除的数据。
- 执行速度方面:drop > truncate > delete。
- 删除数据方面:drop 是删除整张表,包含行数据和字段、索引等数据,而 truncate 和 drop 只删除了行数据。
- 添加条件方面:delete 可以使用 where 表达式添加查询条件,而 truncate 和 drop 不能添加 where 查询条件。
- 重置自增列方面:在 InnoDB 引擎中,truncate 可以重置自增列,而 delete 不能重置自增列。
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END

















暂无评论内容