查表的時候需要用到user_tables、all_tables,user_tables查出來的是該用戶擁有的表,all_tables查出來的是所有用戶的表。
2、用sql查表的字段
查表的字段需要用到user_tab_columns、all_tab_columns,壹樣的前者只能查到該用戶擁有的表,後者可以查詢所有用戶的表。
3、其他
與上面類似的還有查詢對象(user_objects、all_objects)、索引(user_indexes、all_indexes)、約束(user_constraints、all_constraints)等。
至於到底怎麽查,先用select * from XXX查看表的信息,然後看下就知道了。比如查壹個system表dba_data_files的字段,可以用select * from all_tab_columns where table_name = 'DBA_DATA_FILES',註意表名大寫。
2014-11-04補充:
下列列出壹些比較重要的數據字典:
DBA_TABLES:描述數據庫中所有相關的表。
DBA_ALL_TABLES:描述數據庫中所有的對象以及相關的表。
USER_TABLES:描述數據庫中當前用戶擁有的相關的表。
USER_ALL_TABLES:描述數據庫中當前用戶擁有的對象以及相關的表。
ALL_TABLES:描述數據庫中所有的用戶可以訪問的相關的表。
ALL_ALL_TABLES:描述數據庫中所有的用戶可以訪問的對象以及相關的表。
DBA_TAB_COLUMNS:描述數據庫中所有表的列屬性。
USER_TAB_COLUMNS:描述數據庫中當前用戶擁有的表的列屬性。
ALL_TAB_COLUMNS:描述數據庫中所有用戶可以訪問的表的列屬性。
DBA_CONSTRAINTS:描述數據庫中所有表的約束和屬性。
DBA_CONS_COLUMNS:包含在DBA_CONSTRAINTS約束定義中的可訪問的列的信息。
ALL_CONSTRAINTS:描述數據庫中所有用戶可以訪問的表的約束和屬性。
ALL_CONS_COLUMNS:包含在ALL_CONSTRAINTS約束定義的可訪問的列的信息。
USER_CONSTRAINTS:描述數據庫中所有當前用戶擁有的表的約束的屬性。
USER_CONS_COLUMNS:包含在USER_CONSTRAINTS約束定義的可訪問的列的信息。
DBA_SEQUENCES:數據庫中所有序列的描述。
ALL_SEQUENCES:描述數據庫中所有用戶可以訪問的序列的描述。
USER_SEQUENCES:描述數據庫中所有當前用戶擁有的序列的描述。
DBA_INDEXES:描述數據庫中所有的索引的屬性。
ALL_INDEXES:描述數據庫中所有用戶可以訪問的索引的屬性。
USER_INDEXES:描述數據庫中所有當前用戶擁有的索引的屬性。