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

  • 相关阅读:
    python线程同步
    闭包、装饰器
    python中的return返回值
    常用内建函数
    python迭代器与生成器
    python基础之数据类型
    VS生成解决方案时报错: Your project does not reference ".NETFramework,Version=v4.5"
    Unity 低版本打开高版本项目
    关闭应用程序的所有子窗体
    按钮接收 Enter 键
  • 原文地址:https://www.cnblogs.com/xushengyong/p/13215350.html
Copyright © 2011-2022 走看看