elbarna Asked: 2016-10-27 17:38:14 +0800 CST2016-10-27 17:38:14 +0800 CST 2016-10-27 17:38:14 +0800 CST 我想查看数据库的所有表,但没有系统表 772 在数据库 oracle 上,我们有 oracle 创建的系统表和我们创建的表。我想在我使用的 postgresql 上查看我们的表 \d 在 mysql 上 show tables; 并在 oracle 上获得类似的输出? oracle system-tables 2 个回答 Voted Best Answer Saddam Khan 2016-10-27T20:55:54+08:002016-10-27T20:55:54+08:00 要列出当前用户拥有的所有表,请键入: select tablespace_name, table_name from user_tables; 列出数据库中的所有表: select tablespace_name, table_name from dba_tables; 要列出当前用户可访问的所有表,请键入: select tablespace_name, table_name from all_tables; 您可以在 Oracle 文档中找到有关视图 all_tables、user_tables 和 dba_tables 的更多信息。要描述表,请键入: desc <table_name> SHOW TABLES 显示当前模式中的所有表。 如果指定了 IN schemaName,则显示给定模式中的表。 show tables; EdStevens 2016-10-28T14:03:17+08:002016-10-28T14:03:17+08:00 你可以这样做: select owner, table_name from dba_tables where owner not in ('SYS', 'SYSTEM') order by owner, table_name ; 但是不能保证有人没有(愚蠢地)在 SYS 或 SYSTEM 模式下创建表。除此之外,还有其他几个使用数据库创建的模式,并且列表可能会因选择的安装/创建选项而异。
要列出当前用户拥有的所有表,请键入:
列出数据库中的所有表:
要列出当前用户可访问的所有表,请键入:
您可以在 Oracle 文档中找到有关视图 all_tables、user_tables 和 dba_tables 的更多信息。要描述表,请键入:
SHOW TABLES 显示当前模式中的所有表。
如果指定了 IN schemaName,则显示给定模式中的表。
你可以这样做:
但是不能保证有人没有(愚蠢地)在 SYS 或 SYSTEM 模式下创建表。除此之外,还有其他几个使用数据库创建的模式,并且列表可能会因选择的安装/创建选项而异。