如何查询Oracle数据库以显示Oracle数据库中所有表的名称?
当前回答
实际上,可以通过SQL查询获得表列表。也可以通过允许生成数据字典的工具来做到这一点,例如ERWIN, Toad data Modeler或ERBuilder。使用这些工具,除了表名之外,您还将拥有字段,它们的类型,对象,如(触发器,序列,域,视图…)
下面的步骤来生成你的表格定义:
您必须对数据库进行逆向工程 在Toad数据建模器中:菜单->文件->逆向工程->逆向工程向导 在ERBuilder数据建模器中:菜单->文件->逆向工程
您的数据库将在软件中显示为实体关系图。
生成包含Tables定义的数据字典 在Toad data modeler中:菜单->模型->生成报告->运行 在ERBuilder数据建模器:菜单->工具->生成模型文档
其他回答
要获得所有的表名,我们可以使用:
Select owner, table_name from all_tables;
如果你有dba权限,你可以使用:
Select owner, table_name from dba_tables;
包括视图:
SELECT owner, table_name as table_view
FROM dba_tables
UNION ALL
SELECT owner, view_name as table_view
FROM DBA_VIEWS
为当前用户选择表的简单查询:
SELECT table_name FROM user_tables;
执行以下命令:
显示Oracle数据库中的所有表
SELECT table_name FROM dba_tables;
显示当前用户拥有的表
SELECT table_name FROM user_tables;
显示当前用户可以访问的表
sql> SELECT table_name FROM all_tables
试试下面的数据字典视图。
tabs
dba_tables
all_tables
user_tables