mysql清除表数据语句(mysql清空数据库表命令)

 2023-07-16  阅读 799  评论 0

摘要:dro table dro 是直接删除表信息,速度最快,但是无法找回数据。 例如删除 user 表: dro table user; truncate (table) truncate 是删除表数据,

drop table

drop 是直接删除表信息,速度最快,但是无法找回数据。

例如删除 user 表:

drop table user; truncate (table)

truncate 是删除表数据,不删除表的结构,速度排第二,但不能与where一起使用

例如删除 user 表:

truncate table user; delete from

delete 是删除表中的数据,不删除表结构,速度最慢,但可以与where连用,可以删除指定的行。

例如删除user表的所有数据

delete from user;

删除user表的指定记录

delete from user where user_id = 1; 三种方式的区别

相同点

truncate和不带where子句的delete,drop都会删除表内的数据;

drop,truncate都是DDL语句(数据定义语言),执行后会自动提交;

不同点

语句类型:delete语句是数据库操作语言(DML),truncate,drop是数据库定义语言(DDL);

效率:一般来说 drop > truncate> delete;

是否删除表结构:truncate和delete 只删除数据不删除表结构,truncate 删除后将重建索引(新插入数据后id从0开始记起),而 delete不会删除索引 (新插入的数据将在删除数据的索引后继续增加),drop语句将删除表的结构包括依赖的约束,触发器,索引等;

安全性:drop和truncate删除时不记录MySQL日志,不能回滚,delete删除会记录MySQL日志,可以回滚;

返回值:delete 操作后返回删除的记录数,而 truncate 返回的是0或者-1(成功则返回0,失败则返回-1);

小知识

delete 与 delete from 区别

如果只针对一张表进行删除,则效果一样;如果需要联合其他表,则需要使用from

delete tb1 from tb1 m where id in (select id from tb2);

用法总结

希望删除表结构时,用 drop;

希望保留表结构,但要删除所有记录时, 用 truncate;

希望保留表结构,但要删除部分记录时, 用 delete。

版权声明:xxxxxxxxx;

原文链接:https://www.fanque.com.cn/aa3f6A24LBVBQCA.html

标签: 数据 子句

发表评论:

管理员

  • 内容144525
  • 积分0
  • 金币0
关于我们
l番茄知识网是实用的健康养生科普知识及日常生活保健小常识大全网站,分享春夏秋冬四季健康饮食养生保健小知识、运动对健康的好处、中医养生食疗做法等健康的生活方式及养生之道,学习健康养生百科知识尽在番茄健康养生知识网。
快捷菜单
健康养生知识
联系方式
电话:
地址:
Email:admin@qq.com
注册登录
注册帐号
登录帐号

Copyright © 2022 番茄知识网 Inc. 保留所有权利。 Powered by

页面耗时0.4175秒, 内存占用1.84 MB, 访问数据库18次

鄂ICP备2022009988号-2

  • 我要关灯
    我要开灯
  • 客户电话
    807220904

    工作时间:8:00-18:00

    客服电话

    电子邮件

    admin@qq.com

  • 官方微信

    扫码二维码

    获取最新动态

  • 返回顶部