目录一、删除的内容deletetruncatedrop drop二、删除过程三、表和索引所占空间四、应用范围五、删除程度六、处理速度七、语句类型:八、语法区别九、总结deletetruncatedrop参考文章
参考文章:链接
删除表中的数据,不删除表结构,但不释放空间
删除表中的数据,不删除表结构,释放空间;
语句删除表结构及所有数据,并将表所占用的空间全部释放。
结论:TRUNCATE 和DELETE只删除数据, DROP则删除整个表(结构和数据)。
drop > truncate > delete
结论:
原因:
DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。
注意:在没有备份情况下,谨慎使用 drop 与 truncate。要删除部分数据行采用delete且注意结合where来约束影响范围。回滚段要足够大。要删除表用drop;若想保留表而将表中数据删除,如果于事务无关,用truncate即可实现。如果和事务有关,或总是想触发trigger,还是用delete。
delete 删除表中数据(where 可写可不写,写的话进行选择性删除,不写的话则清空表中的数据)
DELETE FROM 表名称 WHERE 列名称 = 值
truncate 删除表中的数据,无法回滚
truncate table tbl_name
或者
truncate tbl_name
drop删除数据库
DROP DATABASE [ IF EXISTS ] <数据库名>
drop删除表
DROP table [ IF EXISTS ] <表名>
注意:drop和truncate不能够激活触发器,因为该操作不记录各行删除;
到此这篇关于Mysql深入详解delete与Truncate及drop的使用区别的文章就介绍到这了,更多相关mysql delete Truncate drop内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
--结束END--
本文标题: MySQL深入详解delete与Truncate及drop的使用区别
本文链接: https://lsjlt.com/news/33451.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0