如何查询Oracle数据库以显示Oracle数据库中所有表的名称?


当前回答

我找不到一个有用的答案

DBA_ALL_TABLES (ALL_ALL_TABLES/USER_ALL_TABLES)

所以决定加上我的版本。 这个视图实际上返回比DBA_TABLES更多的数据,因为它也返回对象表(http://docs.oracle.com/cd/E11882_01/server.112/e40402/statviews_1003.htm)。

其他回答

包括视图:

SELECT owner, table_name as table_view
  FROM dba_tables
UNION ALL
SELECT owner, view_name as table_view
  FROM DBA_VIEWS

我们可以从下面的查询中获得所有的表,包括列的详细信息:

SELECT * FROM user_tab_columns;

为当前用户选择表的简单查询:

  SELECT table_name FROM user_tables;

要获得所有的表名,我们可以使用:

Select  owner, table_name  from all_tables;

如果你有dba权限,你可以使用:

Select owner, table_name from dba_tables;
select * from all_all_tables

开头附加的“all”给出了额外的3列,分别是:

OBJECT_ID_TYPE
TABLE_TYPE_OWNER
TABLE_TYPE