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

  • 相关阅读:
    C++文件流类与文件流对象
    当java出现异常,应如何进行处理
    C语言函数的声明以及函数原型
    MySQL的create table as 与 like区别
    java中BigDecimal加减乘除基本用法
    项目小结
    自动化测试 如何快速提取Json数据
    Java Map 集合类在selenium自动化测试设计中的应用
    UFT对于PDF 文档的操作方法 VBS代码
    Selenium 自动化测试中对页面元素的value比较验证 java语言
  • 原文地址:https://www.cnblogs.com/xushengyong/p/13215350.html
Copyright © 2011-2022 走看看