在oracle中如何删除表中数据

news/2024/10/21 15:31:58/

oracle数据库,mysql数据库都是drop命令>truncate命令>delete命令,他们的执行方式、效率和结果各有不同。下面我们就来看看吧

一、drop命令
语句drop table 表名
说明:
1.用drop删除表数据,不但会删除表中的数据,连结构也会被删除
2.将被隐式提交
二、truncate命令
语句:truncate table 表名
说明:
1.用truncate删除表数据,只是删除表中的数据,表结构不会被删除!
2.删除整个表的数据时,过程是系统一次删除数据,效率比较高
3.truncate 删除释放空间
4.将被隐式提交

三、delete命令
语句:delete from 表名
说明:
1.用delete删除表数据,只是删除表中的数据,表结构不会被删除
2.虽然也是删除整个表的数据,但是过程是系统一行一行的删,效率也比truncate低
3.delete删除是不释放空间的
4.delete是DML语句,不会自动提交,需要手动提交事务

总结:
1.drop、truncate都是DDL语言(数据定义语言),向其他所有的(DDL)语言一样,它将被隐式提交。delete是DML语句,不会自动提交。

2.truncate和delete只删除数据不删除表的结构,drop语句将删除表的结构被依赖的约束、触发器、索引;依赖于该表的存储过程/函数将保留,但是变为invalid(无效)状态

3.delete语句是数据库操作语言(DML),这个操作会放到rollback segment中,事务提交之后才生效;如果有相应的tigger,执行的时候将被触发

4.truncate、drop 是数据库定义语言(DDL),操作立即生效,原数据不放到rollback segment 中,不能回滚,操作不触发 trigger。

5.delete 语句不影响表所占用的extent,高水线(high watermark)保持原位置不动、drop 语句将表所占用的空间全部释放。

6.truncate 语句缺省情况下将空间释放到 minextents个extent,除非使用reuse storage;truncate 会将高水线复位(回到最开始)。

7.速度等级分别: drop命令>truncate命令>delete命令

8.实际使用以及安全性:谨慎使用 drop和 truncate,一旦执行没有退步的余地。如想删除部分数据行用 delete加上where条件子句。 想删除表当然是 drop了、想保留表而将所有数据删除,如果和事务无关,用truncate即可。如果和事务有关,或者想触发trigger,还是用delete。如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入或插入数据。

9.truncate table 表名 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均可删除表中的全部行。但 truncate table 比 delete 速度快,且使用的系统和事务日志资源少。

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

11.truncate table 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用 delete。如果要删除表定义及其数据,请使用 drop table 语句。

12.对于有 foreign key 约束引用的表,不能使用 truncate table,而应使用不带 where 子句的 delete 语句。由于 truncate table 不记录在日志中,所以它不能激活触发器。

13.truncate table 不能用于参与索引视图的表。


http://www.ppmy.cn/news/1295682.html

相关文章

【起草】【第三章】用chatGPT协助进行项目管理

#项目管理#PMO#ChatGPT 在项目管理领域,ChatGPT的出现为项目管理者提供了一个全新的智能引擎,助力项目更加高效地推进,成为项目管理者的得力助手。 ChatGPT与项目计划优化: 在制定项目计划阶段,ChatGPT通过与项目管理…

167. 木棒(dfs剪枝,经典题)

167. 木棒 - AcWing题库 乔治拿来一组等长的木棒,将它们随机地砍断,使得每一节木棍的长度都不超过 50 个长度单位。 然后他又想把这些木棍恢复到为裁截前的状态,但忘记了初始时有多少木棒以及木棒的初始长度。 请你设计一个程序&#xff0…

【AI视野·今日Robot 机器人论文速览 第七十期】Thu, 4 Jan 2024

AI视野今日CS.Robotics 机器人学论文速览 Thu, 4 Jan 2024 Totally 17 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers Many-Objective-Optimized Semi-Automated Robotic Disassembly Sequences Authors Takuya Kiyokawa, Kensuke Harada, Weiwei …

Netplan介绍

1 介绍 1.1 简介 Netplan是一个抽象网络配置描述器。通过netplan命令,你只需用一个 YAML文件描述每个网络接口所需配置。netplan并不关系底层管理工具是NetworkManager还是networkd。 它是一个在 Linux 系统上进行网络配置的实用程序。您创建所需接口的描述并定义…

抖音在线查权重系统源码,附带查询接口

抖音权重在线查询只需输入抖音主页链接,即可查询作品情况。 搭建教程 上传源码并解压 修改数据库“bygoukai.sql” 修改“config.php” 如需修改水印请修改第40行 如需修改限制次数,请修改第156行 访问域名user.php即可查看访问用户,停…

ubuntu创建pytorch-gpu的docker环境

文章目录 安装docker创建镜像创建容器 合作推广,分享一个人工智能学习网站。计划系统性学习的同学可以了解下,点击助力博主脱贫( •̀ ω •́ )✧ 使用docker的好处就是可以将你的环境和别人的分开,特别是共用的情况下。本文介绍了ubuntu环境…

Spring MVC中@ExceptionHandler注解的智能处理机制——无需显示指定异常类型

概述 在深入探讨Spring MVC框架时,我们经常会遇到异常处理的相关场景。其中,ExceptionHandler注解是一个非常重要的工具,它允许我们声明一个方法来专门处理特定类型的异常。有趣的是,Spring容器具备智能化的异常类型关联功能&…

【pytorch学习】 深度学习 教程 and 实战

pytorch编程实战博主:https://github.com/lucidrains https://github.com/lucidrains/vit-pytorch