数据库删除语句的分别介绍:
Delete:用于删除表中的行(注:可以删除某一行;也可以在不删除表的情况下(即意味着表的结构、属性、索引完整)删除所有行)
语法:删除某一行:Delete From 表名称 Where 列名称=值
删除所有行: Delete From 表名称 或 Delete * From 表名称
Drop:用于删除表(注:将表的结构、属性、索引也会被删除。)
语法:Drop Table 表名称
Truncate:用于删除表内的数据(注:仅删除表内的数据,不删除表本身,相当于Delete语句不写Where子句一样)
语法:Truncate Table 表名称
数据库中删除语句的相同点和不同点的比较:
相同点:
1.truncate和不带where子句的delete,以及drop都能删除表内的数据
2.truncate和delete只删除表数据保留表结构
不同点:
1. truncate table tablename
删除表内容释放表空间保留表结构(即:只删除表内的数据,不删除表本身。相当于Delete语句不写where子句一样),不使用事务处理即和事务无关
truncate 语句缺省情况下将空间释放到 minextents个 extent,
除非使用reuse storage;truncate 会将高水线复位(回到最开始)。
2. delete table tablename [where子句]
delete属于数据操作语言(DML),不能自动提交事务,需commit提交
这个操作会放到 rollback segement 中,事务提交之后才生效;
如果有相应的 trigger,执行的时候将被触发。
delete 语句不影响表所占用的 extent,高水线(high watermark)保持原位置不动
3. drop table tablename
drop属于数据定义语言(DDL)可以自动提交事务;
drop 语句将删除表的结构被依赖的约束(constrain)、触发器(trigger)、索引(index)【删除表数据同时删除表结构】;
依赖于该表的存储过程/函数将保留,但是变为 invalid 状态。
drop 语句将表所占用的空间全部释放。
删除数据的速度,一般来说: drop> truncate > delete
使用场合:
当你不再需要该表时, 用 drop;
当你仍要保留该表,但要删除所有记录时, 用 truncate;
当你要删除部分记录时(always with a where clause), 用 delete.
注意:
对于有主外键关系的表,不能使用truncate而应该使用不带where子句的delete语句,由于truncate不记录在日志中,不能够激活触发器
引用:http://blog.csdn.net/hanxuemin12345/article/details/7818662
相关推荐
本文将深入探讨数据库中删除语句Drop、Delete、Truncate的相同点和不同点,并通过实例来帮助理解。 首先,Delete语句是用于删除表中的行。它可以用来删除指定条件的行,也可以删除表中的所有行。例如,`DELETE FROM...
您可能感兴趣的文章:数据库中删除语句Drop、Delete、Truncate的相同点和不同点的比较(实例说明)drop,truncate与delete的区别详解MySQL中DROP,TRUNCATE 和DELETE的区别实现mysql从零开始浅析drop user与delete from ...
相同点在于,`TRUNCATE`和不带`WHERE`子句的`DELETE`都能删除表内所有数据,而`DROP`会删除整个表包括结构。然而,它们之间存在显著的不同: 1. `DROP`会删除表及其依赖项,如索引、约束和触发器,而`TRUNCATE`和`...
在数据库管理中,`TRUNCATE`, `DELETE`, 和 `DROP` 是三种常见的数据操作语言(DML)与数据定义语言(DDL)命令,它们各自有着不同的用途和特点。接下来,我们将详细探讨这三种命令之间的异同点。 #### 1. 操作对象...
注意:这里说的delete是指不带where子句的delete语句 相同点 truncate和不带where子句的delete, 以及drop都会删除表内的数据 不同点: 1. truncate和 delete只删除数据不删除表的结构(定义) drop语句将删除表的结构被...
CREATE TABLE语句用于创建新表,ALTER TABLE用于修改已有表结构,DROP TABLE用于删除表,TRUNCATE TABLE用于删除表中的所有数据。通过这些语句,可以灵活地管理数据库中的数据表。 在创建表时,可以使用CONSTRAINT...
数据库操作语句大全(sql) 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_...
MySQL篇 MySQL 是一种关系型数据库管理系统,主要用于存储和管理数据。下面是 MySQL 篇的知识点...drop、truncate 和 delete 都是数据库操作语句,但是它们的应用场景和效果不同,需要根据具体情况选择合适的语句。
### Oracle数据库误删除数据的不同恢复方法 #### 一、引言 在日常的数据库管理工作中,数据误删除是一个常见的问题。对于Oracle数据库来说,它提供了一系列强大的数据恢复工具和技术,帮助管理员快速有效地恢复误...
标题中的“删除MSSQL数据库中的表和清除记录小工具有源代码”表明这是一个用于管理Microsoft SQL Server数据库的工具,其主要功能是帮助用户方便地删除数据库中的表以及清除表内的记录。这样的工具在数据库开发和...
**Truncate、Delete(不带WHERE子句的DELETE语句)、Drop的异同:** **相同点:** - `TRUNCATE`、不带`WHERE`子句的`DELETE`以及`DROP`都会删除表内的数据。 **不同点:** 1. **数据与表结构:** - `TRUNCATE`和`...
在管理表和管理索引部分,手册介绍了创建、更改、删除和清空表的具体操作,包括使用DELETE、DROP和CREATE、TRUNCATE语句进行表的数据清理。还详细说明了如何管理索引,包括创建索引的原则和创建聚集索引、唯一索引、...
每个操作的语法可能在不同的数据库系统中略有差异,但其核心概念和操作流程大致相同,因此一旦掌握,便可以灵活地应用在各种数据库环境中。 通过以上知识点,用户可以学会如何创建和管理一个数据库环境,包括如何...
### SQL数据库语句大全知识点详解 #### 基础篇 **创建数据库** - **语法**: `CREATE DATABASE 数据库名称;` - **说明**: 该命令用于创建一个新的数据库实例。 **删除数据库** - **语法**: `DROP DATABASE 数据库...
数据库是存储和管理数据的核心工具,...这些面试问题涵盖了数据库基础到进阶操作的关键知识点,对于理解SQL语言和数据库管理至关重要。掌握这些概念和技能,将有助于在面试中展示出对数据库的深入理解和实际操作能力。
#### 问题2:DELETE、TRUNCATE 和 DROP 的区别? - **DELETE**:DELETE 命令用于从表中删除一行或多行数据。它可以有条件地删除数据,这意味着可以通过 WHERE 子句指定要删除哪些行。DELETE 操作需要提交或回滚事务...
+ 不同点:DELETE和TRUNCATE只删除数据,不删除表的结构;DROP删除表的结构和数据。DELETE是DML语句,可以回滚;TRUNCATE和DROP是DDL语句,无法回滚。 * 数据删除顺序:DROP > TRUNCATE > DELETE。 三、表连接 * ...