zoukankan      html  css  js  c++  java
  • MySQL——delete 和 truncate 以及 drop 区别

    delete 和 truncate 以及 drop 区别

      (个人理解,如有错误,请指出)

    delete < truncate < drop

    删除方式:  

      truncate   只删除数据、逐条删除  

      delete      只删除数据、先删除整个表,把那行剔除掉再创建(?)  

      drop     删除整个表(结构和数据)

    空间:  

      truncate   表和索引所占用的空间会恢复到初始大小  

      delete      不会减少表或者索引所占的空间。  

      drop     将表所占的空间全释放掉

    应用范围:  

      truncate   只用于table  

      delete     可以是table和view

    语句属性:  

      delete      DML(data maintain language)数据操纵语言: 用来操作表中数据  

      truncate和drop  DDL(data define language)数据定义语言 : 定义数据库或者表结构

       ————所以delete有删除记录能回滚,其他不行。

    应用:  

      delete    删除部分数据行采用delete且注意结合where来约束影响范围。回滚段要足够大。  

      drop     删除表  

      truncate  保留表而将表中数据删除,于事务无关。如果和事务有关,或想触发trigger,还是用delete。

  • 相关阅读:
    同步类容器和并发类容器
    T4模板生成自定义的实体类
    C# UrlEncode 编码
    PLSQL快速生成增删改查语句
    Oracle 检查星期只能是1-7的数字不能重复
    PLSQL 插入数据无响应
    C# DataTable 排序
    C# 获取程序集信息
    C# 调用WinRAR解压缩文件
    DataTable 获取一列最大值并修改
  • 原文地址:https://www.cnblogs.com/sun7897/p/7525469.html
Copyright © 2011-2022 走看看