首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL删除数据、清空命令(truncate、drop、delete 区别)

一、MySQL清空数据三种方法1.1 清空数据:truncatesql命令#清空多张、库中所有的数据truncate table table_name1,table_name2,......exists table_name;注意:drop会删除整个,包括结构和数据,释放空间立即执行,执行速度最快不可回滚1.3 删除/清空数据:deletesql命令#删除部分数据delete from...tb_name where clause;#清空,仅删除数据、保留结构,同时也不释放空间delete from tb_name;注意:删除中数据而不删除结构,也不释放空间delete可以删除一行...、多行、乃至整张每次删除一行,都在事务日志中为所删除的每行记录一项,可回滚如果不加where条件,表示删除中所有数据,仅删除数据、保留结构,同时也不释放空间MySQL、Mariadb、PostgreSQL...删除数据、清空命令 都可用以上三种命令

19.1K13
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    删除数据 delete、truncate 命令

    1. delete 命令 2. truncate 命令 3. delete、truncate 的区别 1. delete 命令 ---- 命令格式 delete from 名 [删除条件]; 删除中的所有数据...delete from 名; 删除中符合匹配条件的数据 delete from 删除条件; 使用示例 -- 删除 user 中的所有数据 delete from user; -- 删除...user 中 id 字段值为 1 的数据 delete from user where id = 1; -- 删除 user 以 id 字段降序排列时的前 5 条数据 delete from user...order by id desc limit 5; 2. truncate 命令 ---- 命令格式 truncate [table] 名; 使用示例 删除 user 中的所有数据,并且重置自动增长的值...二、delete 支持事务,可以进行事务回滚;truncate 不支持事务,不能执行事务回滚 三、delete 支持带条件的删除,可以只删除某一条数据;truncate 则不行,只能用于删除中的所有数据

    92340

    MySQL删除数据 MySQL清空命令 3种方法

    一、MySQL清空数据命令:truncate SQL语法: truncate table 名 注意: 不能与where一起使用。 truncate删除数据后是不可以rollback的。...二、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

    8K60

    针对mysql delete删除数据后占用空间不变小的问题

    开发环境 MySQL 前言 物流规则匹配日志表记录订单匹配规则相关日志信息,方便管理员维护和查阅不匹配的订单,四个月时间,该日志数据就有174G,当前,这么大的数据量,不仅对数据库造成了很大的负载压力...网上查到需要释放删除了的数据占用的空间、也就是优化或碎片整理,使用到的命令是:OPTIMIZE TABLE tableName。...问题出现原因 在删除sql语句中,写法如下:DELETE FROM ueb_logistics_rule_logs WHERE type=0 LIMIT 100; 凡是这样,delete带有where条件的...,都不是真删除,只是MySQL给记录加了个删除标识,自然这样操作后数据占有空间也不会变小了 注意:DELETE FROM ueb_logistics_rule_logs; 这条sql语句执行后,就清空了数据...解决方法 主要就是执行下面三条sql语句(轮询删除delete,避免一次性删除数据太多造成MySQL负载崩溃,另外数据量大的时候需要等待网站访问流量小的时候执行) DELETE FROM ueb_logistics_rule_logs

    1.7K21

    MySQL删除数据Delete 语句、Trunca…

    delete 语句的示例: MySQL的这些语法都和口语类似,你要指出你想从哪个删除数据,还有删除哪些数据,这就够了。就像写记叙文的时候,时间、地点、人物、环境、情节几要素必不可少一样。...因为如果不指定 where 子句,delete删除中所有的记录,而且是立即删除,即使你想哭都没有地方,也没有时间,因为你需要马上和主管承认错误,并且立即找出MySQL日志,来回滚记录。...因为一般情况下,删除数据大家都在使用delete语句。其实这个 truncate 命令很简单,它的意思是:删除的所有记录。相当于 delete 语句不写 where 子句一样。...而truncate删除后,是从1开始为autoincrement字段编号。 不过truncate命令快规快,却不像delete命令那样对事务处理是安全的。...因此,如果我们想要执行truncate删除正在进行事务处理,这个命令就会产生退出并产生错误信息。

    3.2K20

    Mysql - 删除时出现: Cannot delete or update a parent row: a foreign key constraint fails

    现象 MySQL删除一张时出现 ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint...fails 原因 可能是在Mysql中,删除和另一张设置了foreign key的关联,造成无法更新或删除数据; 解决方案 可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况。...禁用外键约束 SET FOREIGN_KEY_CHECKS = 0; 然后就可以删除删除完成后再启动外键约束 SET FOREIGN_KEY_CHECKS = 1; 查看当前FOREIGN_KEY_CHECKS...的值可用如下命令 SELECT @@FOREIGN_KEY_CHECKS; 注意 这样设置只会影响当前会话, 不会影响全局 若想设置全局变量的话,可以这样写 SET GLOBAL FOREIGN_KEY_CHECKS

    1.8K10

    清空删除mysql

    Mysql清空(truncate)与删除中数据(delete)的区别 为某基于wordpress搭建的博客长久未除草,某天升级的时候发现已经被插入了几万条垃圾留言,如果一条条删除那可真是累人的活。...遂考虑直接进入mysql直接清空或者删除中数据。 本文记录一下这2种操作模式的区别,目标对象是wp_comments,里面的所有留言均是垃圾留言,均可删除。...然后便有了以下2种方式(进入mysql操作界面后): truncate table wp_comments; delete * from wp_comments; 其中truncate操作中的table...这两者都是将wp_comments中数据清空,不过也是有区别的,如下: truncate是整体删除(速度较快), delete是逐条删除(速度较慢)。...而delete删除以后,Identity依旧是接着被删除的最近的那一条记录ID加1后进行记录。 如果只需删除中的部分记录,只能使用DELETE语句配合where条件。

    8.1K20

    sql语句删除数据drop、truncate和delete的用法

    虽然西西不建议大家去用命令删除数据库中的东西,但是这些删除命令总有用的着的地方。...说到删除数据的关键字,大家记得最多的可能就是delete了 然而我们做数据库开发,读取数据库数据.对另外的两兄弟用得就比较少了 现在来介绍另外两个兄弟,都是删除数据的,其实也是很容易理解的 老大——...,发现数据的结构还在,也就是不删除定义 至于释放空间,看下下面两幅图.你们就会明白的 右图:Id列标识列,因之前delete过行数据,所以会出现标识列不连续(体现了delete删除是不释放空间的)...,要删就要把清空 老三—–delete 出没场合:delete table tb –虽然也是删除整个的数据,但是过程是痛苦的(系统一行一行地删,效率较truncate低)...所以可以对delete操作进行roll back 1、truncate 在各种上无论是大的还是小的都非常快。如果有ROLLBACK命令Delete将被撤销,而 truncate 则不会被撤销。

    2K10

    【说站】mysql清空、删除数据命令详解

    mysql有好几种删除和清空数据命令,但每个命令的用法具体来说不一样,下面具体说说truncate、drop和del三个命令: 1、truncate清空数据命令 truncate是用来清空数据的...,而不是接着原来的ID数 (4)、truncate 删除数据时不会写入服务器日志,删除速度快 (5)、truncate 删除数据后不激活 trigger 触发器 2、drop删除命令 如果某张数据不用了...,我们可以直接用drop命令删除这张数据,truncate只会清除数据,drop不光清除数据还要删除结构。...直接删除整张,要谨慎操作 3、delete 命令删除记录或清空数据 命令格式: # 语法一 delete from 名 where id='1'; # 语法二 delete from wp_posts...; 注: (1)、delete 可以根据条件删除一行或多行 (2)、如果使用加条件的话,则删除中所有数据 (3)、delete from wp_posts;这条命令可以直接清空wp_posts表里面的所有记录

    3.1K10

    安全删除MySQL(上)

    一.简介 源码地址 日期:2018/4/12 介绍:工具用于安全删除MySQL,对于一些特定场景可能有用 应用场景:大批删除不走索引但是有主键的场景[可以是单列索引,也可是多列索引] 实现思路:根据where...效果图: image.png 二.使用 适用:centos6+ 语言:中文 注意:必须有主键或者非空唯一索引 1.下载 git clone https://gitee.com/mo-shan/safe_delete.git...cd safe_delete 2.配置,将这里的mysql_path改成mysql工具的绝对路径,否则可能会因版本太低导致错误 ed -i 's#^mysql_path=....*#mysql_path=\"/mysqlbinlog_path\"#g' bin/safe_delete 将这里的safe_delete_path改成safe_delete的家目录的绝对路径 sed...*#work_dir=\"/safe_delete_path\"#g' bin/safe_delete

    4.6K20
    领券