• Mysql数据库清空表中数据、删除表


    一、MySQL清空表数据命令:truncate

    truncate table 表名;
    
    • 1

    说明:

    • truncate的效率高于delete。
    • truncate 清除数据后不记录日志,不可以恢复数据,相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。
    • truncate删除数据后是不可以进行rollback操作,语句不能与where一起使用。
    • truncate 不写服务器 log,速度快。

    二、MySQL清空数据表内容:delete

    delete from 表名 where 条件;
    delete from 表名;
    
    • 1
    • 2

    说明:

    • delete清除数据后记录日志,可以恢复数据,相当于将表中所有记录一条一条删除。
    • delete可以删除一行,也可以删除多行。
    • delete 删除以后,identity (标识列、自增字段)依旧是接着被删除的最近的那一条记录ID加1后进行记录。如果只需删除表中的部分记录,只能使用 DELETE语句配合 where条件

    三、MySQL删除表命令:drop

    drop table 表名;
    
    • 1

    说明:

    • drop不光清除表数据还要删除表结构,释放空间。
    • 删除之后,依赖于该表的存储过程/函数将保留,但是变为invalid状态。
    • drop删除表后是不可以进行rollback操作。

    总结:

    1. 当你仍要保留该表,但要删除所有数据表记录时, 用 truncate。
    2. 当你要删除部分记录或者有可能会后悔的话, 用 delete。
    3. 当你不再需要该表时, 用 drop。
  • 相关阅读:
    VMware和windows互传文件
    nginx配置http负载均衡转发
    深度学习pytorch小实验
    数据库——创建和管理表
    水生植物拉丁文及缩写
    嵌入式Linux应用开发基础知识(二)——GCC总体选项
    .NET CORE Aws S3 使用
    关于地图GIS的一次实践整理(下) Redis的GIS实践
    线索二叉树
    【Docker】——容器数据卷
  • 原文地址:https://blog.csdn.net/fwdwqdwq/article/details/126036956