SQL中TRUNCATE与DELETE区别

本文介绍了标准SQL中的DELETE语句以及在多种数据库产品中存在的TRUNCATE语句。TRUNCATE语句用于快速清空整个表的数据,相比DELETE语句,它无法通过WHERE子句指定删除条件,但处理速度更快。

删除和舍弃
          标准 SQL 中用来从表中删除数据的只有 DELETE 语句。但是,很多数据库产
品中还存在另外一种被称为 TRUNCATE 的语句。这些产品主要包括 Oracle、SQL
Server、PostgreSQL、MySQL 和 DB2。
TRUNCATE 是舍弃的意思,具体的使用方法如下所示。
语法4-A 只能删除表中全部数据的TRUNCATE语句
TRUNCATE <表名>;
         与 DELETE 不同的是,TRUNCATE 只能删除表中的全部数据,而不能通过
WHERE 子句指定条件来删除部分数据。也正是因为它不能具体地控制删除对象,
所以其处理速度比 DELETE 要快得多。实际上,DELETE 语句在 DML 语句中也
属于处理时间比较长的,因此需要删除全部数据行时,使用 TRUNCATE 可以缩短
执行时间。
         但是,产品不同需要注意的地方也不尽相同。例如在 Oracle 中,把 TRUNCATE
定义为 DDL,而不是 DMLA。使用 TRUNCATE 时,请大家仔细阅读使用手册,
多加注意。便利的工具往往还是会存在一些不足之处的。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值