TRUNCATE与 DELETE

源地址:http://zhidao.baidu.com/link?url=9zB64BuXiAXNPF-zxvd6VLGTKb2FsUzQ-FsRAeQaYzycOGT5uGPXb-oB44TuYoPzGOXu_4aMHQiQYGXrBY5SrK

1.DELETE ?DML语言 ?可以回退 ?可以有条件的删除

     DELETE FROM 表名   WHERE 条件

2.TRUNCATE TABLE ?DDL语言 ?无法回退 ?默认所有的表内容都删除 ?删除速度比delete快。

   TRUNCATE TABLE 表名

因为truncate不能回退,不需要写入回退log,所以效率会很高。
时间: 2024-08-06 23:58:41

TRUNCATE与 DELETE的相关文章

drop、truncate和delete的区别

drop.truncate和delete的区别 SQL DELETE 1.delete是DML,执行delete操作时,每次从表中删除一行,并且同时将该行的的删除操作记录在redo和undo表空间中以便进行回滚(rollback)和重做操作,但要注意表空间要足够大,需要手动提交(commit)操作才能生效,可以通过rollback撤消操作 2.delete可根据条件删除表中满足条件的数据,如果不指定where子句,那么删除表中所有记录 3.delete语句不影响表所占用的extent,高水线(h

truncate 、delete与drop区别

相同点: 1.truncate和不带where子句的delete.以及drop都会删除表内的数据. 2.drop.truncate都是DDL语句(数据定义语言),执行后会自动提交. 不同点: TRUNCATE TABLE:删除内容.释放空间但不删除定义. DELETE TABLE:删除内容不删除定义,不释放空间. DROP TABLE:删除内容和定义,释放空间. 1. truncate 和 delete 只删除数据不删除表的结构(定义) drop 语句将删除表的结构被依赖的约束(constrai

sql server 中删除表中数据truncate和delete的区别(转载自.net学习网)

我们都知道truncate table可以用来删除整个表的内容,它与delete后面不跟where条件的效果是一样.但除此之外,我们还清楚它们之间有其它的区别吗?本章我们将一起讨论truncate与delete区别. 我们先看一下truncate table的说明:删除表中的所有行,而不记录单个行删除操作.TRUNCATE TABLE在功能上与没有WHERE子句的DELETE语句相同:但是,TRUNCATE TABLE速度更快,使用的系统资源和事务日志资源更少. truncate table的语

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

一.SQL中的语法 1.drop table 表名称                         eg: drop table  dbo.Sys_Test 2.truncate table 表名称                     eg: truncate  table dbo.Sys_Test   3.delete from 表名称 where 列名称 = 值      eg: delete from dbo.Sys_Test where test='test' 二.drop,tru

TRUNCATE,DORP,DELETE

TRUNCATE,DORP,DELETE 相同点: truncate和不带where子句的delete, 以及drop都会删除表内的数据 不同点: 1. truncate和 delete只删除数据不删除表的结构(定义) drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态.2.delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有

sql中truncate、delete、drop区别

相同点: 1.truncate和不带where子句的delete.以及drop都会删除表内的数据. 2.drop.truncate都是DDL语句(数据定义语言),执行后会自动提交. 不同点: 1. truncate 和 delete 只删除数据不删除表的结构(定义) drop 语句将删除表的结构被依赖的约束(constrain).触发器(trigger).索引(index):依赖于该表的存储过程/函数将保留,但是变为 invalid 状态. 2. delete 语句是数据库操作语言(dml),这

truncate 、delete与drop三者的异同

相同点: 1.truncate和不带where子句的delete.以及drop都会删除表内的数据. 2.drop.truncate都是DDL语句(数据定义语言),执行后会自动提交. 不同点: 1. truncate 和 delete 只删除数据不删除表的结构(定义)drop 语句将删除表的结构被依赖的约束(constrain).触发器(trigger).索引(index):依赖于该表的存储过程/函数将保留,但是变为 invalid 状态. 2. delete 语句是数据库操作语言(dml),这个

mysql 在row模式下truncate 与 delete 二进制日志记录的差异

二进行日志的格式为row mysql> show variables like 'binlog_format'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | binlog_format | ROW | +---------------+-------+ 1 row in set (0.00 sec) 在testdb库下执行 mysql> select * from t1; +--

truncate 、delete、drop的区别

TRUNCATE TABLE 在功能上与不带 Where 子句的 Delete 语句相同:二者均删除表中的全部行.但 TRUNCATE TABLE 比 Delete 速度快,且使用的系统和事务日志资源少. Delete 语句每次删除一行,并在事务日志中为所删除的每行记录一项. TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放.        TRUNCATE TABLE 删除表中的所有行,但表结构及其列.约束.索引等保持不变.新行标识所用的计

Sql语句——删除表数据drop、truncate和delete的用法

一.SQL中的语法 1.drop table 表名称                         eg: drop table  dbo.Sys_Test   2.truncate table 表名称                     eg: truncate  table dbo.Sys_Test                     3.delete from 表名称 where 列名称 = 值      eg: delete from dbo.Sys_Test where te