如何获取 Oracle 中所有表的所有列的名称?
How to get all columns' names for all the tables in Oracle?
想知道如何获取一个 Oracle 数据库中的所有列名、数据类型以及来自哪些表
下面是 MySQL 数据库,我正在寻找 Oracle 数据库的相同内容。
select * from information_schema.columns
where table_schema = 'your_db'
order by table_name,ordinal_position
您可以使用
SELECT *
FROM user_tab_cols
ORDER BY table_name, column_name, column_id
连接到您要从中获取相关信息的架构后。
您可以使用以下查询,
以下查询将为您提供特定模式的表:
select ut.*,uc.*
from user_tables ut
join user_tab_cols uc
on ut.table_name = uc.table_name
where lower(ut.table_name) = 'table_name'
order by ut.table_name,uc.internal_column_id;
以下查询将为您提供当前模式中所有表的列表以及您可以从其他模式访问的表:
select *
from all_tables ut
join all_tab_cols uc
on ut.table_name = uc.table_name
where ut.owner = '<schema_name_in_upper>'
order by ut.table_name,uc.internal_column_id;
获取当前用户所有表的列名和信息
SELECT *
FROM USER_TAB_COLS
获取所有表的列名和信息当前用户可以访问
SELECT *
FROM ALL_TAB_COLS
获取整个数据库
中所有表的列名和信息
SELECT *
FROM DBA_TAB_COLS
中找到更多信息
想知道如何获取一个 Oracle 数据库中的所有列名、数据类型以及来自哪些表
下面是 MySQL 数据库,我正在寻找 Oracle 数据库的相同内容。
select * from information_schema.columns
where table_schema = 'your_db'
order by table_name,ordinal_position
您可以使用
SELECT *
FROM user_tab_cols
ORDER BY table_name, column_name, column_id
连接到您要从中获取相关信息的架构后。
您可以使用以下查询,
以下查询将为您提供特定模式的表:
select ut.*,uc.*
from user_tables ut
join user_tab_cols uc
on ut.table_name = uc.table_name
where lower(ut.table_name) = 'table_name'
order by ut.table_name,uc.internal_column_id;
以下查询将为您提供当前模式中所有表的列表以及您可以从其他模式访问的表:
select *
from all_tables ut
join all_tab_cols uc
on ut.table_name = uc.table_name
where ut.owner = '<schema_name_in_upper>'
order by ut.table_name,uc.internal_column_id;
获取当前用户所有表的列名和信息
SELECT *
FROM USER_TAB_COLS
获取所有表的列名和信息当前用户可以访问
SELECT *
FROM ALL_TAB_COLS
获取整个数据库
中所有表的列名和信息SELECT *
FROM DBA_TAB_COLS
中找到更多信息