Truncate Delete Drop命令的区别

【truncate、delete和drop的6大区别!】 阅读详情


Truncate Delete Drop命令的区别
        Truncate Delete Drop命令的区别

truncate和不带where子句的delete, 以及drop都会删除表内的数据

不同点:
1. 从删除内容上区分:
   truncate和 delete只删除数据不删除表的结构(定义)
   drop语句将删除表的结构、被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态.
2.从语句类型上来区分:
  delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.
  truncate,drop是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger.
3.从对表空间的影响来区分:
  delete语句不影响表所占用的extent, 高水线(high watermark)保持原位置不动
  drop语句将表所占用的空间全部释放
  truncate 语句缺省情况下将空间释放到 minextents个extent,除非使用reuse storage;而且truncate会将高水线复位(回到最开始).
4.从速度的区别:
  一般来说: drop> truncate > delete
5.从安全性考虑:
  小心使用drop 和truncate,尤其没有备份的时候.
  使用上,想删除部分数据行用delete,注意带上where子句. 回滚段要足够大.
  想删除表,当然用drop
  想保留表而将所有数据删除. 如果和事务无关,用truncate即可. 如果和事务有关,或者想触发trigger,还是用delete.
  如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据
 
三种删除数据命令:drop、truncate、delete区别 一、delete 1、执行delete操作时,每次从表中删除一行,并且同时将该行的的删除操作记录在redo日志和undo日志中以便进行回滚(rollback)和重做操作,但要注意表空间要足够大,特别是表比较大的情况。 2、delete可根据条件删除表中满足条件的数据,如果不指定where子句,那么删除表中所有记录。 3、delete是DML(data maintain language),delete这个操作会被放到rollback segment中,事务提交之后才会生效,如果有相应的触发器trigg 阅读详情

相关推荐

sram设计流程+memory compiler整理

→。

qq_50761108的博客 1万+

SQL之delete、truncate和drop区别

相同点:1、都有删除表的功能;不同点:1、delete、truncate仅仅删除表里面的数据;drop会把表的结构也删除掉2、delete是DML语句,操作完了,还可以回滚;truncate和drop是DDL语句,删除之后立即生效,不能回滚;3、在执行效益上drop>truncate>delete;扩展知识:为了形成数据库语言,DDL和DML都是必须的。DDL和DML之间的主要区别在于:DDL有助于更改数据库的结构,而DML有助于管理数据库中的数据。

2301_81133727的博客 4155

【CarMaker实战指南】从零构建环形测试场景与车辆连续仿真

本文详细介绍了如何使用CarMaker软件从零构建环形测试场景与实现车辆连续仿真。通过分步指导搭建闭环道路、连接交叉路口、规划车辆轨迹等核心操作,帮助用户掌握CarMaker的基础应用技巧,并提供了常见问题排查与进阶优化建议,适用于车辆耐久性测试和自动驾驶算法验证等场景。

weixin_29274969的博客 234

delete、truncate和drop区别

不走事务,原数据不放到 rollback segment 中,操作不触发 trigger。

sinat_26916241的博客 2217

【保研经验】北科自动化到北大工学院

作者:办公室某学长 谢邀。。。作为拖延症晚期患者,希望能在我科开学前写完。 先简单介绍一下我的保研过程,申请了清华叉院&北大叉院大数据&北大信科计算机夏令营,三者都没入营;申请了自所夏令营(自所来宣讲时未交简历,这是重大错误),给了第二批补录但没去;最终九推去了北大工学院。我的这次保研最终成功的经历可以说有一定运气成分,不具有普适性,但在前期准备过程中还是有经验可以分享的。 ...

ruanjianbu的博客 1796

STM32F407+LAN8720网口不通?别慌,手把手教你用CubeMX和HAL库搞定RMII配置与调试

本文详细介绍了STM32F407与LAN8720网口不通的全面排查与解决方法,涵盖硬件检查、CubeMX配置、PHY芯片初始化和LWIP协议栈优化。通过RMII接口配置、时钟树设置和PHY芯片调试,帮助开发者快速定位并解决网络连接问题,提升嵌入式网络开发效率。

weixin_30457551的博客 506

数据库:drop、truncate、delete三者删除的区别

一:用法和区别 drop:drop table 表名       删除内容和定义,并释放空间。执行drop语句,将使此表的结构一起删除。 truncate (清空表中的数据):truncate table 表名       删除内容、释放空间但不删除定义(也就是保留表的数据结构)。与drop不同的是,只是清空表数据而已。       truncate不能删除行数据,虽然只删除

johnson_mar的博客 4万+

YOLO11 锚框机制全解析:从改进 K-means 聚类到自适应优化,附多场景实战(附代码)

摘要 YOLO11的锚框机制采用"自适应、动态化、场景感知"的设计理念,通过数据驱动的锚框生成、多尺度感知分配和实时优化策略,显著提升目标检测性能。相较于早期YOLO版本,YOLO11的锚框完全基于训练集目标分布自适应生成,并引入智能分配策略,使不同尺寸目标获得最优匹配。技术架构包含自适应锚框生成、多尺度分配器和动态优化模块,通过改进的K-means聚类和交并比计算实现精准匹配。YOLO11锚框机制在检测精度、训练稳定性和场景适应性方面均有显著提升,为复杂场景下的目标检测提供更优解决方案

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1319

delete和drop的区别是什么

删除数据库:drop database XX,删除表 drop table XX。例如,我们要删除student表上的age字段的信息,可以这样写:alter table student drop age。要删除 student表上名字为‘张三’的所有信息:delete from student where name=‘张三’。delete和drop的区别是:drop主要用于删除结构,delete主要用于删除数据。如果我们要删除数据库或数据表,都会使用drop来删除。

qq_44165157的博客 3295

VMware系列:此平台不支持虚拟化 Intel-VT-x/EPT 或 AMD-V/RVI

VMware系列:此平台不支持虚拟化 Intel-VT-x/EPT 或 AMD-V/RVI

weixin_54626591的博客 1万+

自动驾驶感知新方案:YOLOv13多模态(RGB+LiDAR+热成像)融合实战

YOLOv13的RGB+LiDAR+热成像多模态融合方案,解决了自动驾驶感知的鲁棒性问题,通过跨模态特征互补和注意力融合,实现了复杂场景下的高精度检测。本文从架构设计、数据预处理、核心模块实现到车载部署,完成了全流程实战。动态模态权重:根据场景自动调整各模态的权重(如黑夜场景提升热成像权重);端到端3D检测:直接从原始点云与图像进行3D检测,减少预处理步骤;轻量化优化:针对车载设备进一步剪枝量化,提升推理速度。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 534

DROP、TRUNCATE 和 DELETE 命令的区别

DROP 命令用于删除数据库中的对象,包括表、视图、索引、数据库等。使用 DROP 命令删除对象时,该对象及其所有数据将被永久删除,且无法恢复。TRUNCATE 命令用于快速删除表中的所有数据,但保留表结构和元数据。与 DELETE 命令不同,TRUNCATE 不会逐行删除数据,而是直接释放表所占用的数据页。DELETE 命令用于删除表中的数据,可以根据条件删除指定的行。DELETE 命令是一个数据操作语言(DML)语句,删除的数据可以通过 ROLLBACK 恢复。

网络技术联盟站 2212

【SCADA】KingSCADA将数据插入SQLServer的方法

1、创建数据库及数据表格;2、配置ODBC数据源。3、通过KingSCADA与数据库建立连接,将数据写入数据库对应表格。

做有价值的事,积累有价值的笔记! 4958

数据库系列——删除命令delete、truncate、drop的使用与区别

delete和truncate之间的差别有哪些 在SQL中delete命令和truncate命令都可用于删除数据(记录) delete、truncate、drop命令之间的区别 delete truncate drop 命令类型 数据操作语言(DML)命令,删除的数据将存储在系统回滚段中,需要的时候,数据可以回滚恢复。 数据定义语言(DDL)命令 DDL,删除的数据是操作立即生效,原数据不放到rollback segment中,不能回滚,数据不可以回滚恢.

m0_51660523的博客 4502

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

oracle取消drop命令,oracle中delete drop truncate的用法和区别

数据库的运维中,经常会遇到delete drop truncate的操作,那么如何去把握它们的用法和区别呢?比如当数据库空间爆满,已经增长到存储空间单个存储文件的最大值32G。你需要通过一些办法释放掉表空间或者扩容表空间来解决问题。一般当系统中大量使用分区表,而针对分区表清除数据,是不会释放表空间的,必须把分区drop掉,才会释放空间。下面我们具体了解一下这三个命令:一、delete1、delet...

weixin_36487107的博客 768

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

MySQL中删除命令的区别(delete、truncate、drop)

MySQL中删除命令的区别(delete、truncate、drop)

oldboy1999的博客 216

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

极速理解数据库命令 delete ,drop,和 truncate的区别

本文解析了数据库命令delete、truncate和drop的区别

qq_40664521的博客 373

Oracle SQL 中DELETE、DROP、TRUNCATE删除命令的区别

DELETE 语句:DELETE 语句用于删除表中的行。表结构、属性、索引等依然存在。 语法:DELETE FROM 表名称 WHERE 列名称 = 值举例: 删除某一行: DELETE FROM Table_name WHERE Name = 'Ryan' 删除所有行: DELETE FROM Table_name 或者 DELETE * FROM Table

暖心生的博客 3916

oracle 中drop,delete truncate 三个命令的区别 ; 删除表数据库中的表

oracle 中drop,delete truncate 三个命令的区别   ; 删除表数据库中的表 truncate :删除表的数据连通其占用的表空间一起删除,无法恢复,一次性删除表的数据 delete:删除整个表的数据或一条或多条数据 可以修复 表空间还在 drop :删除表的结构和内容,表将不复存在

muzizhuben的专栏 3990

Truncate Delete Drop命令的区别 .

truncate和不带where子句的delete, 以及drop都会删除表内的数据

持之以恒方能成功.... 2206

MySQL删除表数据、清空表命令(truncate、drop、delete 区别)

MySQL删除表数据、清空表命令(truncate、drop、delete区别) 使用原则总结如下: 当你不需要该表时(删除数据和结构),用drop; 当你仍要保留该表、仅删除所有数据表内容时,用truncate; 当你要删除部分记录、且希望能回滚的话,用delete;

qq_44700578的博客 4万+

SQL语言之delete、truncate和drop命令的区别和总结

SQL语言之delete、truncate和drop命令的区别: 1.truncate快速删除记录并释放空间不使用事务管理,因此无法回滚,而delete可以在执行删除命令后,通过rollback撤销删除,实现事务回滚。 2.truncate删除表中所有记录,即清空表,而delete不仅可以删除表中所有数据,还可以根据条件筛选删除。 3.drop命令用于删除

qq_30908729的博客 665

oracle中使用drop、delete和truncate三个命令区别

oracle中可以使用drop、delete和truncate三个命令来删除数据库中的表及数据: 1. delete和truncate都是删除表中的内容而不能删除表的结构,而drop则是删除表的结构和内容(表将不复存在);2. delete可以删除整个表的数据也可以有选择性地删除某一条或多条数据,而truncate则是一次性删除整个表的数据;3. 使用delete删除的表...

weixin_33709590的博客 90
上一篇: vs.Net2003无法打开或创建Web应用程序若干解决办法
下一篇: window.open()的所有参数列表
lujun10
博客等级 码龄22年 7粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值