如何查询Oracle数据库以显示Oracle数据库中所有表的名称?
当前回答
为当前用户选择表的简单查询:
SELECT table_name FROM user_tables;
其他回答
select object_name from user_objects where object_type='TABLE';
---------------- 或 ------------------
select * from tab;
---------------- 或 ------------------
select table_name from user_tables;
我找不到一个有用的答案
DBA_ALL_TABLES (ALL_ALL_TABLES/USER_ALL_TABLES)
所以决定加上我的版本。 这个视图实际上返回比DBA_TABLES更多的数据,因为它也返回对象表(http://docs.oracle.com/cd/E11882_01/server.112/e40402/statviews_1003.htm)。
执行以下命令:
显示Oracle数据库中的所有表
SELECT table_name FROM dba_tables;
显示当前用户拥有的表
SELECT table_name FROM user_tables;
显示当前用户可以访问的表
sql> SELECT table_name FROM all_tables
select * from all_all_tables
开头附加的“all”给出了额外的3列,分别是:
OBJECT_ID_TYPE
TABLE_TYPE_OWNER
TABLE_TYPE
包括视图:
SELECT owner, table_name as table_view
FROM dba_tables
UNION ALL
SELECT owner, view_name as table_view
FROM DBA_VIEWS
推荐文章
- LEFT OUTER JOIN如何返回比左表中存在的记录更多的记录?
- 如何用SQL语句计算百分比
- Postgres唯一约束与索引
- SQL Server动态PIVOT查询?
- MySQL对重复键更新在一个查询中插入多行
- 向现有表添加主键
- 使用电子邮件地址为主键?
- MySQL:如何复制行,但改变几个字段?
- 不能删除或更新父行:外键约束失败
- MongoDB在v4之前不兼容ACID意味着什么?
- SQL WHERE ID IN (id1, id2,…idn)
- 最常见的SQL反模式是什么?
- 错误:没有唯一的约束匹配给定的键引用表"bar"
- 如何使用新的PostgreSQL JSON数据类型中的字段进行查询?
- 分组限制在PostgreSQL:显示每组的前N行?