文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MySQL删除表数据与MySQL清空表命令的3种方法浅析

2022-08-17 10:30

关注

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

SQL语法:

truncate table 表名

注意:

二、MySQL删除表命令:drop

SQL语法:

drop table 表名;

或者是

drop table if exists 表名;

注意:

truncate只会清除表数据,drop不光清除表数据还要删除表结构。

三、MySQL清空数据表内容的语法:delete

SQL命令:

delete from 表名 where id='1';

delete from 表名;

注意:

delete含义:你要删除哪张表的数据 ?你要删掉哪些行 ?delete可以删除一行,也可以删除多行;如果不加where条件,则是删除表所有的数据,这是很危险的!不建议这样做!

总结:

1、当你不再需要该表时, 用 drop;

2、当你仍要保留该表,但要删除所有数据表记录时, 用 truncate;

3、当你要删除部分记录或者有可能会后悔的话, 用 delete。

补充:MySQL删除表操作delete、truncate、drop的区别

1.表和索引所占空间:

  当表被TRUNCATE 后,这个表和索引所占用的空间会恢复到初始大小;

  DELETE操作不会减少表或索引所占用的空间;

  DROP语句将表所占用的空间全释放掉。

2.应用范围:

  TRUNCATE 只能对table;

  DELETE可以是table和view。

3.执行速度:

  drop > truncate > delete

4.delete from删空表后,会保留一个空的页,truncate在表中不会留有任何页。

5.DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。

TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。

6.当使用行锁执行 DELETE 语句时,将锁定表中各行以便删除。truncate始终锁定表和页,而不是锁定各行。

7.如果有identity产生的自增id列,delete from后仍然从上次的数开始增加,即种子不变;使用truncate删除之后,种子会恢复到初始值。

总结

到此这篇关于MySQL删除表数据与MySQL清空表命令的文章就介绍到这了,更多相关MySQL删除表数据 清空表命令内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯