iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL删除表数据与MySQL清空表命令的3种方法浅析
  • 1918
分享到

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

摘要

目录一、Mysql清空表数据命令:truncate二、mysql删除表命令:drop三、Mysql清空数据表内容的语法:delete补充:MySQL删除表操作delete、truncate、drop的区别总结一

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

SQL语法:

truncate table 表名

注意:

  • 不能与where一起使用。
  • truncate删除数据后是不可以rollback的。
  • truncate删除数据后会重置Identity(标识列、自增字段),相当于自增列会被置为初始值,又重新从1开始记录,而不是接着原来的ID数。
  • truncate删除数据后不写服务器log,整体删除速度快。
  • truncate删除数据后不激活trigger(触发器)。

二、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删除表数据 清空表命令内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL删除表数据与MySQL清空表命令的3种方法浅析

本文链接: https://www.lsjlt.com/news/33734.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作