如何查询Oracle数据库以显示Oracle数据库中所有表的名称?
当前回答
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)。
下面的查询只列出了所需的数据,而其他的答案给了我额外的数据,这只会让我感到困惑。
select table_name from user_tables;
我正在寻找一个包含所有列名的列表,这些列名属于一个模式表,按照列id的顺序排序。
这是我使用的查询:-
SELECT COLUMN_NAME
FROM ALL_TAB_COLUMNS
WHERE OWNER = 'schema_owner_username' AND TABLE_NAME='table_name'
ORDER BY COLUMN_ID ASC;
包括视图:
SELECT owner, table_name as table_view
FROM dba_tables
UNION ALL
SELECT owner, view_name as table_view
FROM DBA_VIEWS
select * from dba_tables
仅当您登录的用户具有sysdba权限时,才提供所有用户的所有表。
推荐文章
- 如何在Ruby On Rails中使用NuoDB手动执行SQL命令
- 查询JSON类型内的数组元素
- 确定记录是否存在的最快方法
- 获得PostgreSQL数据库中当前连接数的正确查询
- 在SQL选择语句Order By 1的目的是什么?
- 我如何循环通过一组记录在SQL Server?
- 如何从命令行通过mysql运行一个查询?
- 外键约束可能导致循环或多条级联路径?
- 使用LIMIT/OFFSET运行查询,还可以获得总行数
- 当恢复sql时,psql无效命令\N
- ORA-12505, TNS:监听器当前不知道连接描述符中给定的SID
- 货币应该使用哪种数据类型?
- 如何选择每一行的列值不是独特的
- 如何改变字符集(和排序)在整个数据库?
- mySQL:: insert到表,数据从另一个表?