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


当前回答

下面的查询只列出了所需的数据,而其他的答案给了我额外的数据,这只会让我感到困惑。

select table_name from user_tables;

其他回答

有了这些,你可以选择:

SELECT DISTINCT OWNER, OBJECT_NAME 
    FROM DBA_OBJECTS 
    WHERE OBJECT_TYPE = 'TABLE' AND OWNER='SOME_SCHEMA_NAME';

SELECT DISTINCT OWNER, OBJECT_NAME 
    FROM ALL_OBJECTS 
    WHERE OBJECT_TYPE = 'TABLE' AND OWNER='SOME_SCHEMA_NAME';

当前用户登录模式中的表

select * from tabs;
select * from dba_tables

仅当您登录的用户具有sysdba权限时,才提供所有用户的所有表。

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

Select  owner, table_name  from all_tables;

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

Select owner, table_name from dba_tables;

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

SELECT * FROM user_tab_columns;