我知道可以使用以下方法:
SELECT DISTINCT(table_name)
FROM all_tab_cols
在Oracle中,是否有更好的方法来显示表格,例如MySQL中的show table
命令?
describe table <table-name>
命令。它可以获取所有信息并进行美观的格式化。该命令适用于表格、存储过程、触发器、约束等(只需更换不同的关键字即可)。你可以做到
select * from user_tables;
获取基本内容。仅获取表名:
select table_name from user_tables;
user_tables
是你的用户可以访问的表--而 all_tab
没有这个限制。 - OMG Poniesdescribe <table-name>
当然,这取决于您的使用方式。您是需要在程序中使用信息,还是想要自己查看表结构?许多工具都可以让您查看表结构,包括:PLSQL开发人员、Toad for Oracle、SQLDeveloper。如果您想在查询中使用表结构,最好使用Oracle数据字典视图(user_...,all_...,dba_...)。
如果想返回属于当前用户/模式的所有表,请在Oracle数据库中运行以下查询:
SELECT TABLE_NAME FROM USER_TABLES;
。
DESCRIBE
不是 SQLPlus 特定的,它只提供一个表的信息,而不是数据库和/或模式中的所有表的信息。 - OMG Poniesto_char
(dbms_metadata.get_ddl( 'TABLE', 'MY_TABLE_NAME' )) FROM DUAL; - Ahmed Nabil