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。

更多相关文章

  1. mysql中将多条记录合并成一行数据进行显示
  2. SQLServer---查询过程中的数据类型转化
  3. 关于使用框架操作Oracle数据库切换MySQL数据库时,nextval的问题!
  4. linux ,cron定时任务 备份mysql数据库
  5. 为什么数据库设计人员不让标识列从最小值开始而不是从1开始?
  6. 如何优化用于从表复制数据的oracle过程?
  7. 入门 --ubuntu下面mysql数据库安装以及相关操作
  8. 使用python抓取csdn博客访问量并保存在sqlite3数据库中
  9. 世界国家 的数据库sql

随机推荐

  1. 纯CSS3绘制可爱的神奇宝贝
  2. 实不相瞒,在家远程办公15天,我有点自闭
  3. 内置于浏览器中的国际化API[每日前端夜话
  4. 无线标记语言(WML)基础之WMLScript 基础
  5. 使用Spry轻松将XML数据显示到HTML页
  6. 用Asp与XML实现交互的一个实例源码
  7. 不同浏览器对XML的解析是不同的
  8. cdata标签如何使用
  9. xml中常见的四种解析方式是什么?
  10. 关于html嵌入xml数据岛如何穿过树形结构