zoukankan      html  css  js  c++  java
  • mysql 删除数据的几个操作

    mysql 删除数据的几个操作

    刚刚在码云上看了一个项目,想要下载下来玩玩,然后动手搞了一下,启动项目 ,发现需要执行数据库脚本,里面有一个表是存储图片地址的,叫beautiful_pictures表,有很多数据,已经执行了,还是在公司的测试库里面,哈哈 ,突然意识到不行,需要把这些露骨的数据删除掉,突然发现对删除的几个操作有点模糊 了,因此记录如下。

    1、drop table tableName 删除一个表 包括表结构,什么都删除了,毛都不剩了,所以这个操作公司里面慎用。

    2、delete  from tableName

       删除所有数据,保留表结构以及索引

      后面可以加where 条件 用来删除部分数据,此操作是可以一行一行删除的,并且记录 了mysql日志,之后可以rollback操作。

    3、truncate table tableName

      删除所有数据,并且不记录mysql日志,因此不可以回滚(rollback)操作,

      不可以和where一起使用,也就是说只能整体删除数据。

    原因:truncate 相当于保留原mysql表的结果,重新创建了这个表,所有的状态都相当于新的,而delete的效果相当于一行行删除,所以可以rollback;

    delete 和truncate 对比

    1. 效果

    效率上 truncate 比 delete快,而且 truncate 删除后将重建索引(新插入数据后id从0开始记起),而 delete不会删除索引 (新插入的数据将在删除数据的索引后继续增加)

    2. 返回值

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

    参考博客 https://www.cnblogs.com/fcc-123/p/10672604.html

  • 相关阅读:
    测试随笔
    ECNU 3530 和你在一起
    ECNU 1030 母牛生小牛
    ECNU 3081 购房还款
    PPP模式下的融资结构优化
    决策树分类
    关联规则-R语言实现
    中国快递包裹总量的预测-基于SARIMA模型
    LeetCode 2 :Swap Nodes in Pairs
    2018092609-2 选题 Scrum立会报告+燃尽图 04
  • 原文地址:https://www.cnblogs.com/xushengyong/p/13215350.html
Copyright © 2011-2022 走看看