⑴ oracle 怎樣快速刪除一個表中全部的數據
如果是全表刪除可以用truncate;
讓然也可以把表結構復制出來,然後drop,在執行一次剛剛復制出來的ddl語句重建表就好了
如果是分區表,那麼可以直接對分區進行truncate和drop操作
⑵ 在oracle資料庫中,怎麼刪除表中的某一行或某幾行數據
刪除記錄的命令格式:
DELETE FROM 表名
WHERE <條件>
如果省略where,則刪除所有記錄,如果指定where,則刪除指定滿足條件的記錄
⑶ Oracle刪除表中所有信息的命令有那兩個,他們的區別是什麼
oracle中可以使用drop、delete和truncate三個命令來刪除資料庫中的表,網上有許多文章和教程專門講解了它們之間的異同,我說簡單點如下:
1. delete和truncate都是刪除表中的內容而不能刪除表的結構,而drop則是刪除表的結構和內容(表將不復存在);
2. delete可以刪除整個表的數據也可以有選擇性地刪除某一條或多條數據,而truncate則是一次性刪除整個表的數據;
3. 使用delete刪除的表數據並沒有真正被刪掉,數據佔用的表空間還存在,相當於Windows中將數據刪除到回收站中,日後有需要還可以恢復;
4. 使用truncate刪除的表數據會連同其佔用的表空間一起直接被刪掉,相當於Windows中使用del+shift鍵直接刪除文件一樣,無法恢復。
http://apps.hi..com/share/detail/158303
⑷ oracle delete 語法
Delete語句
基本語法:delete from 表名 where 條件
注意事項:
1、如果不使用where子句,將表中所有數據全部刪除;
delete from test;
2、如果要刪除某列的值,delete是不可以做到的;
3、刪除整個表 drop table 表名;
4、當使用delete的時候,一定要考慮表之間參照完整性。
(4)oracle刪除數據命令擴展閱讀:
table參數用於指定從其中刪除記錄的表的名稱。
criteria參數為一個表達式,用於指定哪些記錄應該被刪除的表達式。
可以使用 Execute 方法與一個 DROP 語句從資料庫中放棄整個表。不過,若用這種方法刪除表,將會失去表的結構。不同的是當使用 DELETE,只有數據會被刪除;表的結構以及表的所有屬性仍然保留,例如欄位屬性及索引。
⑸ 如何在oracle中刪除資料庫
1、選擇「開始」—>「程序」—>Oracle-Oracle10g_home1—>配置和移植工具—>Database Configuration Assistant命令,啟動DBCA,出現「歡迎使用」窗口;
⑹ 怎樣刪除oracle實例裡面的資料庫
1. 通過在開始輸入cmd,進入Dos命令窗口.
2. 輸入sqlplus system/system密碼@資料庫名稱,點回車,從而連通資料庫.
3. 在上述窗口中輸入select username from dba_users,點回車,以顯示當前資料庫實例中的用戶名;
4. 選擇要刪除的用戶,在當前窗口中輸入:
5. 稍等片刻,即可完成資料庫用戶刪除動作;
⑺ oracle資料庫刪除命令
刪除表中的數據:
delete from 表名;truncate table 表名;
刪除表:
drop table 表名;
刪除資料庫:
drop database 資料庫名;
甲骨文股份有限公司(NASDAQ:ORCL,Oracle)是全球大型資料庫軟體公司。總部位於美國加州紅木城的紅木岸(Redwood Shores),現時首席執行官為公司創辦人勞倫斯·埃里森(Lawrence J. Ellison)。
⑻ Oracle資料庫中刪除一個大表的內容而不刪除表結構的命令是什麼
用truncate命令或者delete命令,但從本質上,如果數據很多,truncate的速度很快,delete則會很慢。
truncate命令:
truncatetable表名;
delete命令:
deletefrom表名;
兩者的區別在於,truncate是從根節點刪除數據,而delete則是逐條刪除數據。另外delete語句後可以接where條件,達到刪除部分數據,而truncate則不行。
⑼ 怎麼刪除oracle的數據文件
一、使用offline數據文件的方法
非歸檔模式使用:alter database datafile '...' offline drop;
歸檔模式使用: alter database datafile '...' offline;
說明:
1) 以上命令只是將該數據文件OFFLINE,而不是在資料庫中刪除數據文件。該數據文件的信息在控制文件種仍存在。查詢v$datafile,仍顯示該文件。
2) 歸檔模式下offline和offline drop效果是一樣的
3) offline後,存在此datafile上的對象將不能訪問
4) noarchivelog模式下,只要online redo日誌沒有被重寫,可以對這個文件recover後進行online操作
實際使用案例:
直接刪除數據文件後無法進入系統的解決方案
正常情況下,刪除表空間的正確方法為:
DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;
如果沒有通過以上命令刪除而直接刪除了數據文件,將導致資料庫無法打開。
如果直接刪除了數據文件
普通用戶登錄時,則報錯:
ORA-01033: ORACLE initialization or shutdown in progress
sys用戶可以正常登錄
但進行操作時(SELECT count(1) FROM user_tables),則會報錯:
ORA-01219: 資料庫未打開: 僅允許在固定表/視圖中查詢
如果執行命令alter database open以打開資料庫時,又報如下錯:
ORA-01157: 無法標識/鎖定數據文件 12 - 請參閱 DBWR 跟蹤文件
ORA-01110: 數據文件 12: 'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/TSTEST001.DBF'
說明資料庫沒找到這個數據文件
因為數據文件在沒有被offline的情況下物理刪除了,導致oracle的數據不一致,因此啟動失敗.
通過以下方法即可解決
解決方法:
sqlplus sys/orcl@orcl as sysdba;
SQL> alter database datafile 'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/TSTEST001.DBF' offline drop;
SQL> alter database open;
SQL> drop tablespace CTBASEDATA;
二、Oracle 10G R2開始,可以採用:Alter tablespace tablespace_name drop datafile file_name;來刪除一個空數據文件,並且相應的數據字典信息也會清除:
sys@ORCL>select file_id,file_name,tablespace_name from dba_data_files
2 where tablespace_name='USERS';
FILE_ID FILE_NAME TABLESPACE_NAME
------- -------------------------------------------- ------------------
4 /u01/app/oracle/oradata/orcl/users01.dbf USERS
sys@ORCL>alter tablespace users add datafile
2 '/u01/app/oracle/oradata/orcl/users02.dbf' size 5M autoextend off;
Tablespace altered.
sys@ORCL>select file_id,file_name,tablespace_name from dba_data_files
2 where tablespace_name='USERS';
FILE_ID FILE_NAME TABLESPACE_NAME
------- -------------------------------------------- -------------------
4 /u01/app/oracle/oradata/orcl/users01.dbf USERS
9 /u01/app/oracle/oradata/orcl/users02.dbf USERS
sys@ORCL>drop table test;
Table dropped.
sys@ORCL>create table test tablespace users
2 as
3 select * from dba_objects;
Table created.
sys@ORCL>select SEGMENT_NAME,FILE_ID,BLOCKS from dba_extents
2 where file_id=9;
SEGMENT_NAME FILE_ID BLOCKS
------------------------------ ---------- ----------
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 128
TEST 9 128
17 rows selected.
sys@ORCL>alter table test move tablespace PERFSTAT; --把表移動到其它表空間
Table altered.
sys@ORCL>select SEGMENT_NAME,FILE_ID,BLOCKS from dba_extents
2 where file_id=9;
no rows selected
sys@ORCL>alter tablespace users drop datafile
2 '/u01/app/oracle/oradata/orcl/users02.dbf';
Tablespace altered.
sys@ORCL>select file_id,file_name,tablespace_name from dba_data_files
2 where tablespace_name='USERS';
FILE_ID FILE_NAME TABLESPACE_NAME
------- -------------------------------------------- ---------------------
4 /u01/app/oracle/oradata/orcl/users01.dbf USERS
三、oracle 10g可以刪除臨時表空間的文件
alter database tempfile '/home/oracle/temp01.dbf' drop including datafiles;
⑽ oracle中delete,truncate 和 drop的區別
delete:dml語句,用於刪除數據,可以回滾(反悔),可以精確刪除。該語句非常耗費資源,需要寫undo回滾段,佔用大量內存。delete語句是所有dml語句中最消耗資源的語句。
truncat:DDL語句,清除數據。該操作不可回滾,不可精確刪除。一旦操作,那麼不可找回。節省資源,但是該命令每次清除的基本單位為「段」,比如:table,partition,subpartition等,不能選擇清除某些數據。
drop:DDL語句,刪除對象操作,上面的delete和truncate都是針對數據的,drop是針對數據的載體的,當然他也可以刪除其他的載體,面對基本對象為段。如果不加purge參數,可在回收站找回,否則不可找回。
舉個例子:船上有10個人,delete可以定點讓某一個人下船,truncate可以讓某一層的人下船(分區),或者全部下船,drop就是連船帶人一起消失。