加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql删除表数据(drop、truncate和delete)

发布时间:2022-10-19 15:31:45 所属栏目:MySql教程 来源:互联网
导读: 在MySQL中有两种方法可以删除数据,一种是DELETE语句,另一种是TRUNCATE TABLE语句。DELETE语句可以通过WHERE对要删除的记录进行选择。而使用TRUNCATE TABLE将删除表中的所有记录。
1、dro

在MySQL中有两种方法可以删除数据,一种是DELETE语句,另一种是TRUNCATE TABLE语句。DELETE语句可以通过WHERE对要删除的记录进行选择。而使用TRUNCATE TABLE将删除表中的所有记录。

1、drop table tb

drop将表格直接删除,没有办法找回

2、truncate (table) tb

删除表中的所有数据,不能与where一起使用

3、delete from tb (where)

删除表中的数据(可根据where删除特定某些行)

区别:truncate和delete的区别

1、事务:truncate删除后不记录mysql日志,不可以恢复数据,是不可以rollback的,truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。delete的效果有点像将mysql表中所有记录一条一条删除到删完,delete是可以rollback的;

原因:truncate删除整表数据(ddl语句,隐式提交),delete是一行一行的删除,可以rollback

2、效果:效率上truncate比delete快,truncate删除后将重建索引(id从零开始) ,delete不会删除索引

3、 truncate 不能触发任何Delete触发器。

4、DELETE可以返回被删除的记录数mysql删除表,而TRUNCATE TABLE返回的是0

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!