学习oracle笔记:表与字段(二)

2.删除表中的字段:

删除一个字段:

ALTER TABLE MTABLE DROP COLUMN (FIELD) CASCADE CONSTRAINS;

  OR:ALTER TABLE MYTABLE SET UNUSED (FIELD) CASCADE CONSTRAINS;

删除多个字段:

ALTER TABLE MYTABLE DROP (FIELD1,FIELD2);

  OR:ALTER TABLE MYTABLE SET UNUSED (FIELD1,FIELD2);

两者的不同处为:当数据记录较多时,用DROP时间会很长,因为要扫描每条记录;UNUSED是一种状态,从用户角度跟DROP一样,但无法通过查询获得数据,但实际上还在占用存储空间,通过查询数据字典视图USER_UNUSED_COL_TABS,ALL_UNUSED_COL_TABS,DBA_UNUSED_COL_TABS,还可以查看有UNUSED状态字段的表:LIKE:

SELECT * FROM USER_UNUSED_COL_TABS;

要彻底删除UNUSED状态的字段,语句为:

ALTER TABLE MYTABLE DROP UNUSED COLUMN;

3.删除表、恢复表、在回收站中查看表:

删除:

DROP TABLE MYTABLE CASCADE CONSTRAINTS;

恢复:

FLASHBACK TABLE MYTABLE TO BEFORE DROP;

在回收站中查看 :

SELECT OBJECT_NAME,ORIGINAL_NAME FROM RECYCLBIN; 

其中:ORIGINAL_NAME是表名称,也可以用WHERE条件指定,比如:ORIGINAL_NAME='MYTABLE'.

猜你喜欢

转载自413316ym.iteye.com/blog/1728260