删除和舍弃
标准 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 时,请大家仔细阅读使用手册,
多加注意。便利的工具往往还是会存在一些不足之处的。
SQL中TRUNCATE与DELETE区别
最新推荐文章于 2024-07-30 17:38:50 发布
本文介绍了标准SQL中的DELETE语句以及在多种数据库产品中存在的TRUNCATE语句。TRUNCATE语句用于快速清空整个表的数据,相比DELETE语句,它无法通过WHERE子句指定删除条件,但处理速度更快。
746

被折叠的 条评论
为什么被折叠?



