0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Truncate的用法和注意事项

汽车玩家 来源:MySQL技术 作者:MySQL技术 2020-05-05 22:25 次阅读

前言:

当我们想要清空某张表时,往往会使用truncate语句。大多时候我们只关心能否满足需求,而不去想这类语句的使用场景及注意事项。本篇文章主要介绍truncate语句的使用方法及注意事项。

1.truncate使用语法

truncate的作用是清空表或者说是截断表,只能作用于表。truncate的语法很简单,后面直接跟表名即可,例如: truncate table tbl_name 或者 truncate tbl_name 。

执行truncate语句需要拥有表的drop权限,从逻辑上讲,truncate table类似于delete删除所有行的语句或drop table然后再create table语句的组合。为了实现高性能,它绕过了删除数据的DML方法,因此,它不能回滚。尽管truncate table与delete相似,但它被分类为DDL语句而不是DML语句。

2.truncate与drop,delete的对比

上面说过truncate与delete,drop很相似,其实这三者还是与很大的不同的,下面简单对比下三者的异同。

truncate与drop是DDL语句,执行后无法回滚;delete是DML语句,可回滚。

truncate只能作用于表;delete,drop可作用于表、视图等。

truncate会清空表中的所有行,但表结构及其约束、索引等保持不变;drop会删除表的结构及其所依赖的约束、索引等。

truncate会重置表的自增值;delete不会。

truncate不会激活与表有关的删除触发器;delete可以。

truncate后会使表和索引所占用的空间会恢复到初始大小;delete操作不会减少表或索引所占用的空间,drop语句将表所占用的空间全释放掉。

3.truncate使用场景及注意事项

通过前面介绍,我们很容易得出truncate语句的使用场景,即该表数据完全不需要时可以用truncate。如果想删除部分数据用delete,注意带上where子句;如果想删除表,当然用drop;如果想保留表而将所有数据删除且和事务无关,用truncate即可;如果和事务有关,或者想触发trigger,还是用delete;如果是整理表内部的碎片,可以用truncate然后再重新插入数据。

无论怎样,truncate表都是高危操作,特别是在生产环境要更加小心,下面列出几点注意事项,希望大家使用时可以做下参考。

truncate无法通过binlog回滚。

truncate会清空所有数据且执行速度很快。

truncate不能对有外键约束引用的表使用。

执行truncate需要drop权限,不建议给账号drop权限。

执行truncate前一定要再三检查确认,最好提前备份下表数据。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • DDL
    DDL
    +关注

    关注

    0

    文章

    13

    浏览量

    6341
收藏 人收藏

    评论

    相关推荐

    多层板埋孔设计注意事项

    多层板埋孔设计注意事项
    的头像 发表于 12-20 16:06 190次阅读

    PCBA生产注意事项

       PCBA生产注意事项。 长按识别二维码关注[现代电子装联工艺技术]订阅号,开启我们共同的学习之旅 end
    的头像 发表于 11-15 17:04 427次阅读
    PCBA生产<b class='flag-5'>注意事项</b>

    如何为住宅配置静态IP:步骤与注意事项

    为住宅配置静态IP地址,通常涉及以下步骤和注意事项
    的头像 发表于 10-24 08:02 268次阅读

    TPS65233、TPS65235的LNB设计注意事项

    电子发烧友网站提供《TPS65233、TPS65235的LNB设计注意事项.pdf》资料免费下载
    发表于 10-08 09:58 1次下载
    TPS65233、TPS65235的LNB设计<b class='flag-5'>注意事项</b>

    脉冲式充电器的使用注意事项

    脉冲式充电器的使用注意事项主要包括以下几个方面: 一、安全注意事项 用电安全 :在充电过程中,应始终保持警惕,注意用电安全,避免触电和短路等危险情况的发生。 防火防灾 :避免在易燃易爆物品附近进行
    的头像 发表于 09-26 16:05 908次阅读

    绕线电感定制的注意事项

    电子发烧友网站提供《绕线电感定制的注意事项.docx》资料免费下载
    发表于 09-20 11:24 0次下载

    共模电感定制的注意事项

    电子发烧友网站提供《共模电感定制的注意事项.docx》资料免费下载
    发表于 09-04 11:47 0次下载

    LiFePO4设计注意事项

    电子发烧友网站提供《LiFePO4设计注意事项.pdf》资料免费下载
    发表于 09-03 09:24 0次下载
    LiFePO4设计<b class='flag-5'>注意事项</b>

    人机接口电感式触摸按钮的设计注意事项

    电子发烧友网站提供《人机接口电感式触摸按钮的设计注意事项.pdf》资料免费下载
    发表于 08-30 09:30 2次下载
    人机接口电感式触摸按钮的设计<b class='flag-5'>注意事项</b>

    现场总线的使用方法与注意事项

    的稳定可靠运行,正确的使用方法和注意事项至关重要。本文将详细介绍现场总线的使用方法和注意事项,以供读者参考。
    的头像 发表于 06-06 11:49 828次阅读

    钳形电流表的使用方法和注意事项

    钳形电流表,作为电气测量和测试的重要工具,其使用方法和注意事项对于保障测量结果的准确性和操作人员的安全至关重要。本文将从钳形电流表的使用方法和注意事项两个方面进行详细阐述,以期为读者提供一个全面而深入的了解。
    的头像 发表于 05-14 16:14 3526次阅读

    FMD LINK 使用注意事项

    电子发烧友网站提供《FMD LINK 使用注意事项.pdf》资料免费下载
    发表于 05-06 10:11 0次下载

    家用路由器的使用技巧和注意事项**

    家用路由器使用技巧包括合理放置、定期重启、设置强密码、设置访客网络、更新固件、启用双频网络和设置家长控制。注意事项包括避免过度拥挤、防止过度疲劳、防止遮挡信号、定期检查网络设备、保护隐私信息、避免恶意攻击和避免强度过高的信号。遵循这些技巧和注意事项,可以提高家庭网络的连接
    的头像 发表于 03-21 17:37 834次阅读

    EMI / Safety观念简介及注意事项

    电子发烧友网站提供《EMI / Safety观念简介及注意事项.ppt》资料免费下载
    发表于 02-28 09:45 1次下载

    浪涌抑制器的应用及注意事项

    浪涌抑制器的应用及注意事项?|深圳比创达电子
    的头像 发表于 01-19 09:55 767次阅读
    浪涌抑制器的应用及<b class='flag-5'>注意事项</b>?