查找包含特定列名的所有 SQL 表

本文将通过示例,介绍如何编写 SQL 查询来查找包含特定列名的所有表。在本示例中,我们将使用以下数据库。下面的屏幕截图将显示该数据库中的表。

在 SQL Server 中查找包含特定列名的所有表

在此 SQL Server 示例中,我们使用 INFORMATION_SCHEMA.COLUMNS 来获取表名,其中列名等于 Education。

SELECT TABLE_CATALOG, 
       TABLE_SCHEMA, 
       TABLE_NAME, 
       COLUMN_NAME, 
       ORDINAL_POSITION, 
       DATA_TYPE, 
       CHARACTER_MAXIMUM_LENGTH
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE COLUMN_NAME like '%Education%' 
ORDER BY TABLE_NAME
Find all Tables that Contain Specific Column Name 2

查找具有特定列名的表

在此示例中,我们使用 sys.column 来获取列信息,使用 sys.tables 来获取数据库表名。

SELECT col.name  AS [Column Name],
       tab.name AS [Table Name]
FROM sys.columns col
  INNER JOIN        
     sys.tables tab
	ON col.object_id = tab.object_id
WHERE col.name LIKE '%Education%'
ORDER BY [Table Name],
         [Column Name]
Select * from sys.columns 3