如何在不同的数据库中找到表列?

时间:2019-10-11 14:17:21

标签: sql sql-server

我正在尝试在不同的表和不同的数据库中查找表列。

到目前为止,我确实有一个查询可以执行此操作,但是它并没有告诉我该列和表位于哪个数据库中。

当前代码:

SELECT
    sys.columns.name AS ColumnName,
    tables.name AS TableName
FROM
    sys.columns
JOIN 
    sys.tables ON sys.columns.object_id = tables.object_id
WHERE 
    sys.columns.name LIKE '%COLUMNNAME%'

有人知道我还需要添加什么来显示数据库名称吗?

1 个答案:

答案 0 :(得分:1)

我建议使用INFORMATION_SCHEMA.tables.columns,例如:

SELECT table_name, table_schema, table_catalog 
from INFORMATION_SCHEMA.tables 
where Table_name like '%<table>%'

.columns相同。只需将table_name替换为column_name

SELECT column_name, table_schema, table_catalog, * 
from INFORMATION_SCHEMA.COLUMNS where column_name like '%<Column>%'