热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

oracle基础琐碎总结-----删除数据

当表中的数据不需要时,则应该删除该数据并释放所占用的空间,删除表中的数据可以使用Delete语句或者Truncate语句,下面分别介绍。一、delete语句(1)有条件删除语法格式:delete[from]table_name[where...SyntaxHighlighter.

当表中的数据不需要时,则应该删除该数据并释放所占用的空间,删除表中的数据可以使用Delete语句或者Truncate语句,下面分别介绍。

一、delete语句
(1)有条件删除
   语法格式:delete [from]  table_name  [where condition];
如:删除users表中的userid为‘001’的数据:delete from users where userid='001';
(2)无条件删除整个表数据
     语法格式:delete  table_name;
如:删除user表中的所有数据:delete users ;
二、Truncate语句  www.2cto.com  
使用Truncate语句是删除表中的所有记录。
语法格式: Truncate [table]  table_name;
(1)删除所有记录不保留记录占用空间
     Truncate [table]  table_name  [drop storage];
    如:删除users表中的所有数据并不保存占用空间: Truncate table users drop storage; 由于默认使用drop storage关键字,所以可以省略 drop storage;
(2)删除所有记录保留记录占用空间
     Truncate [table]  table_name  [reuse storage];
     如:删除users表中的所有数据并保存占用空间: Truncate table users reuse storage;

三、两种删除语句的对比
      由于delete语句删除记录时候,记录是逐条删除的,而Truncate 语句删除数据时不产生回退信息;所以如果需要删除大量数据的时候使用delete则占用较多的系统资源,而如果使用Truncate 则会快的多。
     下面通过实例说明一下:
     1、首先建立user表:
create table users
(  www.2cto.com  
userid varchar2(20) ,
username varchar2(30),
userpass varchar2(30)
);
 
    2、接着插入一条数据
insert into users values('001','GavinDream','123456');
   3、使用复制插入方法插入几万条数据
insert into users(userid,username,userpass) select * from users;
       
我插入了 4194304条数据,使用delete删除花费时间为:90.964 seconds,然后又插入了二倍的数据,但使用truncate花费时间仅仅为2.215 seconds,如下图所示:


 



 
 
作者 GavinDream

推荐阅读
  • 本文探讨了在 PHP 的 Zend 框架下,使用 PHPUnit 进行单元测试时遇到的 Zend_Controller_Response_Exception 错误,并提供了解决方案。 ... [详细]
  • 探索OpenWrt中的LuCI框架
    本文深入探讨了OpenWrt系统中轻量级HTTP服务器uhttpd的工作原理及其配置,重点介绍了LuCI界面的实现机制。 ... [详细]
  • 深入理解TCP头部结构
    本文详细介绍了TCP头部的各个字段及其功能,包括源端口、目标端口、序列号、确认号等关键字段,以及TCP头部的大小、标志位、窗口大小、校验和等辅助信息。通过解析实际的TCP头部示例,帮助读者更好地理解TCP协议的工作原理。 ... [详细]
  • LoadRunner中的IP欺骗配置与实践
    为了确保服务器能够有效地区分不同的用户请求,避免多人使用同一IP地址造成的访问限制,可以通过配置IP欺骗来解决这一问题。本文将详细介绍IP欺骗的工作原理及其在LoadRunner中的具体配置步骤。 ... [详细]
  • 本文探讨了Java编程语言中常用的两个比较操作符==和equals方法的区别及其应用场景。通过具体示例分析,帮助开发者更好地理解和使用这两个概念,特别是在处理基本数据类型和引用数据类型的比较时。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 探讨了在移动设备上使用contentEditable属性时遇到的布局问题,并提供了解决方案。 ... [详细]
  • 本文详细介绍了在PHP中如何获取和处理HTTP头部信息,包括通过cURL获取请求头信息、使用header函数发送响应头以及获取客户端HTTP头部的方法。同时,还探讨了PHP中$_SERVER变量的使用,以获取客户端和服务器的相关信息。 ... [详细]
  • 本文概述了在GNU/Linux系统中,动态库在链接和运行阶段的搜索路径及其指定方法,包括通过编译时参数、环境变量及系统配置文件等方式来控制动态库的查找路径。 ... [详细]
  • 本文介绍了如何通过设置特定属性来取消小程序中 Navigator 组件的默认点击效果,提高用户体验。 ... [详细]
  • 本文详细介绍了在MyBatis框架中如何通过#和$两种方式来传递SQL查询参数。使用#方式可以提高执行效率,而使用$则有助于在复杂SQL语句中更好地查看日志。此外,文章还探讨了不同场景下的参数传递方法,包括实体对象、基本数据类型以及混合参数的使用。 ... [详细]
  • 探讨在使用 PHP 函数 array_combine 时遇到的重复键名问题,并提出解决方案以确保所有数据都能被正确显示。 ... [详细]
  • 本文详细介绍了如何使用Rufus工具制作一个兼容UEFI启动模式的Windows Server 2008 R2安装U盘,包括必要的软件和步骤。 ... [详细]
  • 本文介绍了如何使用Java编程语言实现凯撒密码的加密与解密功能。凯撒密码是一种替换式密码,通过将字母表中的每个字母向前或向后移动固定数量的位置来实现加密。 ... [详细]
  • 本文介绍如何使用 Python 计算两个时间戳之间的时间差,并将其转换为毫秒。示例代码展示了如何通过 `time` 和 `datetime` 模块实现这一功能。 ... [详细]
author-avatar
美猴qing_243
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有