通过【 DELETE FROM 表名称 WHERE 列名称 = 值 】的方式删除记录。
在宜都等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计、成都网站设计 网站设计制作按需定制设计,公司网站建设,企业网站建设,成都品牌网站建设,营销型网站建设,外贸网站建设,宜都网站建设费用合理。
比如
DELETE FROM Person WHERE LastName = 'Wilson' and rownum=1;
删除person表中,其中LastName这一列的值等于Wilson的其中一条记录
1、你需要明白oracle数据结构
首先数据以表table/索引index/视图view等方式存在,而表/索引/视图存储在表空间,表空间对应硬盘上的文件
2、数据库包含数据字典或默认的一些用户或你创建的用户,这些用户访问这些表或表空间
3、而这都需要存在一个实例instance
4、所以你如果删除数据,需要删除表,然后表空间(或者直接删除表空间连带里面的表)
DROP TABLESPACE DATA_TS1 INCLUDING CONTENTS AND DATAFILES;
5、查询都有哪些表空间
col file_name format a50
select TABLESPACE_NAME,FILE_NAME from dba_data_files order by TABLESPACE_NAME;
查询表空间包含哪些表
col SEGMENT_NAME format a30
select distinct SEGMENT_NAME,TABLESPACE_NAME from dba_segments where TABLESPACE_NAME='DATA_TS1' order by SEGMENT_NAME;
6、生成所有表的drop语句
select 'drop table '||tname||' purge;' from tab order by tname;
7、用dbca删除instance后,数据库就像新安装时候一样干干净净
dbca -silent -deleteDatabase -sourceDB mydb -sysDBAUserName sys -sysDBAPassword db123456
或者用图形界面删除。
我觉得还是概念不清析,问题不太明白呀。
所果只是简单的清空表的话,还是很容易的。
drop table TABLE_NAME ; //连表结构都删了。
要是清空内容,留着表结构,就是:
truncate tablename; // 就可以了。
如果是数据库表文件要删的话,就不和你说了。
在ORACLE表中删除数据通常有两种方法:一种是使用delete,一种是使用truncate。
delete 优点:1、可以增加WHERE条件来进行选择性删除。
2、可以通过rollback进行回滚。
缺点:1、速度较慢。
truncate 优点:1、速度很快。
缺点:1、不能加条件删除。
2、无法通过rollback进行数据回滚。
在Oracle9i里,Oracle提供了一个内部事件,用以强制刷新Buffer Cache。
其语法为:
alter session set events 'immediate trace name flush_cache level 1';
或者:
alter session set events = 'immediate trace name flush_cache';
类似的也可以使用alter system系统级设置:
alter system set events = 'immediate trace name flush_cache';
在Oracle10g中,Oracle提供一个新的特性,可以通过如下命令刷新Buffer Cache:
alter system flush buffer_cache;
1.
删除无任何数据对象的表空间:
首先使用pl/sql界面化工具,或者使用oracle自带的sql
plus工具,连接需要删除的表空间的oracle数据局库。
确认当前用户是否有删除表空间的权限,如果没有
drop
tablespace,请先用更高级的用户(如sys)给予授权或者直接用更高级的用户。
用drop
tablespace
xxx
,删除需要删除的表空间。
2.
删除有任何数据对象的表空间
使用drop
tablespace
xxx
including
contents
and
datafiles;来删除表空间。
3.
注意事项:
如果drop
tablespace语句中含有datafiles,那datafiles之前必须有contents关键字,不然会提示ora-01911错误