在工作中有時需要對現有數據庫進行清理,統計,分析,這就需要知道庫裡有那些表,都有多少數據,在Oracle中,可用使用視圖USER_TABLES:
SELECT * FROM USER_TABLES;
USER_TABLES提供了豐富的信息,其中較為重要的就是表中的數據行數(列NUM_ROWS),但這個列行數並不是准確的行數,可能與查詢具體表的COUNT結果一致
這是因為num_rows是根據分析表後取得數據行數,必須先Analyze Table才能取得准確的數據行數。
如果想查詢所有用戶表中的列,可以使用USER_TAB_COLUMNS,可查詢某個列都在哪些表中出現。
SELECT * FROM USER_TAB_COLUMNS;
另外,使用user_tables可查詢當前用戶的表;all_tables可查詢所有用戶的表;dba_tables查詢包括系統表的所有表