Drop、Delete、Truncate

原创 2016年08月29日 19:54:58

1. 删除表的语句为:DROP TABLE table_name;

2. TRUNCATE TABLE 在功能上与不带 Where 子句的 Delete 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 Delete 速度快,且使用的系统和事务日志资源少。

3. Delete 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。

4. TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用 Delete。 

5. 速度,一般来说: drop> truncate > delete

6. 想保留表而将所有数据删除. 如果和事务无关,用truncate即可. 如果和事务有关,或者想触发trigger,还是用delete

7. 在删除时如果遇到任何一行违反约束(主要是外键约束),TRUNCATE TABLE仍然删除,只是表的结构及其列、约束、索引等保持不变,但DELETE是直接返回错误;
8. 对于被外键约束的表,不能使用TRUNCATE TABLE,而应该使用不带WHERE语句的DELETE语句。

版权声明:本文为博主原创文章,未经博主允许不得转载。

数据库中删除语句Drop、Delete、Truncate的相同点和不同点的比较(举例说明)

转载来自: 数据库中删除语句Drop、Delete、Truncate的相同点和不同点的比较(举例说明)   数据库删除语句的分别介绍: Delete:用于删除表中的行(注:可以...
  • shehun11
  • shehun11
  • 2014年10月24日 11:20
  • 1275

数据库删除语句 Drop/Delete/Truncate比较

Delete :删除数据表中的行(可以删除某一行,也可以在不删除数据表的情况下删除所有行)。 删除某一行:Delete from 数据表名称 where 列名称=值; 删除所有行:Dele...
  • dedecms8
  • dedecms8
  • 2016年09月11日 14:01
  • 1180

Drop,Delete,和Truncate的异同

相同点: 1.truncate和不带where子句的delete、以及drop都会删除表内的数据。   2.drop、truncate都是DDL语句(数据定义语言),执行后会自动提交...
  • chenjinlong1
  • chenjinlong1
  • 2017年04月27日 17:53
  • 107

Truncate Table的时候不管是用drop storage 或reuse storage都会将HWM重新设置到第一

A, B 为两个Table . A, B 的数据分别放在 erp_data  表空间下  A, B 的索引分别放在 erp_indx 表空间下 那么 我们使用下面的两个语句删除两个表...
  • heizistudio
  • heizistudio
  • 2013年11月05日 15:43
  • 1767

drop与truncate的区别

公司有同事清除大表的时候先truncate,然后drop。问为什么不直接drop,答这样效率高,那真的高吗?其实差不多,先测量下redo,drop 比truncate产生的还少,重点是标黄部分。  ...
  • guogang83
  • guogang83
  • 2013年03月26日 20:42
  • 2219

Oracle数据库中truncate命令和delete命令的区别

Oracle数据库中truncate命令和delete命令的区别 首先讲一下,truncate命令: 语法:TRUNCATE  TABLE  table; 表格里的数据被清空,存储空间被...
  • vevenlcf
  • vevenlcf
  • 2015年02月11日 11:35
  • 1026

如何恢复被drop或truncate表的数据

如果在线上环境误操作删除或清空了不该删除的表,常用的方式是冷备+增量binlog恢复表数据,这个通用方法大家都会,不在本篇讨论范畴。 这篇文章主要介绍在没有冷备的情况下如何利用binlog恢复表数据...
  • kianliu_007
  • kianliu_007
  • 2014年10月29日 00:24
  • 1984

drop、truncate和delete的用法及区别

drop、truncate和delete的用法及区别
  • ye_pxj
  • ye_pxj
  • 2017年10月18日 22:13
  • 60

drop、delete、truncate区别联系

一、SQL中的语法    1、drop table 表名称                         eg: drop table  dbo.Sys_Test    2、truncate t...
  • fengzijia
  • fengzijia
  • 2018年01月03日 14:17
  • 21

sql语句中----删除表数据drop、truncate和delete的用法

 虽然西西不建议大家去用命令删除数据库表中的东西,但是这些删除命令总有用的着的地方。 说到删除表数据的关键字,大家记得最多的可能就是delete了 然而我们做数据库开发,读取数据库数据.对另...
  • u012102536
  • u012102536
  • 2016年05月26日 09:46
  • 1302
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Drop、Delete、Truncate
举报原因:
原因补充:

(最多只允许输入30个字)