drop、delete 与 truncate 的区别?

三者都表示删除,但是三者有一些差别:

deletetruncatedrop
类型属于 DML属于 DDL
回滚可回滚不可回滚
删除内容表结构还在,删除表的全部或者一部分数据行表结构还在,删除表中的所有数据
删除速度删除速度慢,需要逐行删除删除速度快

因此,在不再需要一张表的时候,用 drop;在想删除部分数据行时候,用 delete;在保留表而删除所有数据的时候用 truncate

标签: java, Java面试题, MySQL, Java问题合集, MySQL面试题, Java编程, Java问题精选, Java常见问题