删除表(记录和结构)的语名delete   ————   truncate      ———— drop

DELETE (删除数据表里记录的语句)

DELETE FROM表名 WHERE 条件;

注意:删除记录并不能释放ORACLE里被占用的数据块表空间. 它只把那些被删除的数据块标成unused.

如果确实要删除一个大表里的全部记录, 可以用 TRUNCATE 命令, 它可以释放占用的数据块表空间

TRUNCATE TABLE 表名;

此操作不可回退.

相同点

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

注意:这里说的delete是指不带where子句的delete语句

不同点:

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,再重新导入/插入数据

oracle中删除表中的一列语句

alter table 表名 drop colum 列名

oracle中删除yuj_oracle删除表语句相关推荐

  1. Oracle一张表写多个触发器,详解oracle中通过触发器记录每个语句影响总行数

    详解oracle中通过触发器记录每个语句影响总行数 需求产生: 业务系统中,有一步"抽数"流程,就是把一些数据从其它服务器同步到本库的目标表.这个过程有可能 多人同时抽数,互相影响 ...

  2. 创建emp表 oracle,Oracle中创建和管理表详解

    Oracle中创建和管理表详解 更新时间:2013年08月01日 15:44:16   作者: 以下是对Oracle中的创建和管理表进行了详细的分析介绍,需要的朋友可以过来参考下 SQL> /* ...

  3. oracle恢复drop建的表首次,Oracle中Drop,Delete,Truancate表恢复

    Oracle中Drop,delete,truancate表恢复 oracle中,常常会由于一些失误导致表的删除,以下是我写的一些表恢复的方法. 闪回模式得满足条件(启用闪回区和启用归档): 1.检查是 ...

  4. oracle 其他用户表主键,Oracle中查看所有的表,用户表,列名,主键,外键

    在Oracle中查看所有的表: select * from tab/dba_tables/dba_objects/cat; 看用户建立的表 : select table_name from user_ ...

  5. 【DB笔试面试623】在Oracle中,给出下面语句的可能的优化思路。

    ♣ 题目部分 在Oracle中,给出下面语句的可能的优化思路. 1CREATE TABLE T_YH_20170705_LHR( X INT); 2BEGIN 3 FOR I IN 1 .. 1000 ...

  6. 怎么查看oracle数据库表的主键,Oracle中查看所有的表,用户表,列名,主键,外键...

    在Oracle中查看所有的表: select * from tab/dba_tables/dba_objects/cat; 看用户建立的表 : select table_name from user_ ...

  7. Oracle中如何查询一个表的所有字段名和数据类型

    Oracle中如何查询一个表的所有字段名和数据类型 查询语法 select A.COLUMN_NAME,A.DATA_TYPE from user_tab_columns A where TABLE_ ...

  8. oracle查询列属性,Oracle中查看所有的表,列,属性,…

    在Oracle中查看所有的表: select * from tab/dba_tables/dba_objects/cat; 看用户建立的表 :  select table_name from user ...

  9. oracle查表字段长度,oracle中查询某张表中的字段名,字段类型,字段长度等信息...

    oracle中查询某张表中的字段名,字段类型,是否为空,字段长度等信息 --更改某张表的字段类型长度 alter table bill_info modify IDCARD VARCHAR2 (30) ...

最新文章

  1. Lombok经常用,却不知道它的原理是什么
  2. VMware vSphere 5.1 群集深入解析(二十六)- 数据存储维护模式汇总
  3. Azkaban-solo模式-安装
  4. Mac下提示APP已损坏,打不开,请移至废纸篓
  5. 线程queue、事件event及协程
  6. 【渝粤教育】国家开放大学2018年春季 0149-22T现代汉语 参考试题
  7. mxf高速发展和数字电影母版制作技术
  8. android开发我的新浪微博客户端-登录页面UI篇(4.1)
  9. c语言 统计数量用count_C语言编程中统计输入的行数以及单词个数的方法
  10. 35. 后台模块开发(2)
  11. r语言导出文件为xlxs_【软件】R语言数据导入与导出
  12. 西南石油大学天空教室_学府之旅 | 西南石油大学
  13. PHP导出Excel,亲测有用
  14. linux服务器被植入挖矿病毒后初步解决方案
  15. kubernetes 401 You have been logged out because your token has expired
  16. 微信开发者工具-真机调试,可查看接口信息
  17. 微阵列芯片服务器,微阵列
  18. 路由器mw320虚拟服务器,水星MW320R中继怎么设置_水星MW320R桥接设置-192路由网
  19. 基于SpringBoot与LayUI的后台管理系统
  20. PHP Guzzle包 用法

热门文章

  1. 中国红外热成像行业“十四五”发展规划及前景建议报告2022-2027年版
  2. etcher恢复正常_我们不会恢复正常; 我们会发现正常
  3. 哭了QAQ SB ETCHER
  4. android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.lby.action }
  5. 图片玻璃光影效果制作
  6. php后端连接MySQL数据库并返回json结果
  7. 清明培训 清北学堂 DAY1
  8. [电动智能汽车-6]:原理 - 制动系统
  9. 基于Geoda的经典空间回归模型(OLS)、空间误差模型(SEM)和空间迟滞模型(SLM)
  10. 第1章第13节:导出:如何将演示文稿保存为放映格式的文件 [PowerPoint精美幻灯片实战教程]