Sql 信息_模式:这可以用于在同一数据库的所有表中查找所有相同的命名列吗
我得到了一个新的数据库,里面有500多张表。我可以使用INFORMATION_模式执行一个查询,列出所有表,并在数据库中的所有表中标识那些相同的命名列。因此,本质上,我希望有一个所有表的列表,并标识那些具有常用名称列的表。您可以Sql 信息_模式:这可以用于在同一数据库的所有表中查找所有相同的命名列吗,sql,information-schema,Sql,Information Schema,我得到了一个新的数据库,里面有500多张表。我可以使用INFORMATION_模式执行一个查询,列出所有表,并在数据库中的所有表中标识那些相同的命名列。因此,本质上,我希望有一个所有表的列表,并标识那些具有常用名称列的表。您可以自连接系统视图信息\u架构。列: select ta.column_name, ta.table_name, tb.table_name, from information_schema.columns ta inner join infor
自连接
系统视图信息\u架构。列
:
select
ta.column_name,
ta.table_name,
tb.table_name,
from information_schema.columns ta
inner join information_schema.columns tb
on ta.column_name = tb.column_name
and ta.table_name != tb.table_name
order by
ta.column_name,
ta.table_name,
tb.table_name
这将为您提供在多个表中使用的所有列以及相应的表名
如果只需要表名,则:
select ta.table_name, tb.table_name
from information_schema.columns ta
inner join information_schema.columns tb
on ta.column_name = tb.column_name
and ta.table_name != tb.table_name
group by ta.table_name, tb.table_name
order by ta.table_name, tb.table_name
注意:您可能希望在
表\u schema
上添加一个筛选器,以将查询限制为应用程序中使用的架构。您使用的是哪种产品?“SQL”只是一种查询语言,不是特定数据库产品的名称,不同供应商之间的信息模式也不相同。请为您正在使用的数据库产品添加一个数据库,但是我是否能够从信息模式中收集表的大小(行数),或者我是否可以单独查询每个表?