--第一種方法: 查詢dba_tab_columns
select COLUMN_NAME,DATA_TYPE,DATA_LENGTH
from dba_tab_columns
where table_name =upper('表名')
order by COLUMN_NAME
--這種方法需要有DBA許可權
--第二種方法: 查詢user_tab_cols
select COLUMN_NAME,DATA_TYPE,DATA_LENGTH
from user_tab_cols
where table_name=upper('表名')
order by COLUMN_NAME
--這種方法只能尋找目前使用者下的表
--第三種方法: 查詢ALL_TAB_COLUMNS
select distinct COLUMN_NAME,DATA_TYPE,DATA_LENGTH
from ALL_TAB_COLUMNS
WHERE TABLE_NAME= upper('表名')
--這種方法可以查詢所有使用者下的表
---------------------------補充-------------------------------------------------------------
--增加欄位
alter table cw_srcbpb
add (SRCBPB_RJBPBL varchar2(100) );
alter table cw_srcbpb
modify (SRCBPB_RJBPBL number(30,3) );
--Oracle查看所有表和欄位
--擷取表:
select table_name from user_tables; --目前使用者的表
select table_name from all_tables; --所有使用者的表
select table_name from dba_tables; --包括系統資料表
select table_name from dba_tables where owner='LBSP'; --擷取使用者***所擁有的表這裡的使用者名稱要記得是用大寫的。
-- 擷取表欄位:其實這裡是根據使用者的許可權來擷取欄位的屬性(表名要大寫)
select * from user_tab_columns where Table_Name='使用者表';--擷取使用者表的所有欄位還有欄位的屬性。
select * from all_tab_columns where Table_Name='使用者表';--擷取使用者表的所有欄位還有欄位的屬性。所屬使用者是***
select * from dba_tab_columns where Table_Name='使用者表';--擷取使用者表的所有欄位還有欄位的屬性。所屬使用者是***
--擷取表注釋:
select * from user_tab_comments
--user_tab_comments:table_name,table_type,comments
--相應的還有dba_tab_comments,all_tab_comments,這兩個比user_tab_comments多了ower列。
--擷取欄位注釋:
select * from user_col_comments
--user_col_comments:table_name,column_name,comments
--相應的還有dba_col_comments,all_col_comments,這兩個比user_col_comments多了ower列。
--查詢出使用者所有表的索引
select * from user_indexes
--查詢使用者表的索引(非叢集索引):
select * from user_indexes where uniqueness='NONUNIQUE'
--查詢使用者表的主鍵(叢集索引):
select * from user_indexes where uniqueness='UNIQUE'
--查詢表的索引
select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and
t.table_name='NODE'
--查詢表的主鍵
select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and
au.constraint_type = 'P' AND cu.table_name = 'NODE'
--尋找表的唯一性限制式(包括名稱,構成列):
select column_name from user_cons_columns cu, user_constraints au where cu.constraint_name=au.constraint_name and
cu.table_name='NODE'
--尋找表的外鍵
select * from user_constraints c where c.constraint_type = 'R' and c.table_name='STAFFPOSITION'
--查詢外鍵約束的列名:
select * from user_cons_columns cl where cl.constraint_name = 外鍵名稱
--查詢參考資料表的鍵的列名:
select * from user_cons_columns cl where cl.constraint_name = 外鍵參考資料表的鍵名