Metadata
如果我們不知道表名,如何使用列名來辨識表名
如果我們不知道表名,如何使用列名來辨識表名
想像一下,如果您在數據庫中有 10000 個表
我知道列名,但我不知道確切的表名。
您能否告知是否有機會使用您已經知道的列名找到表名?
您可以使用 INFORMATION_SCHEMA.COLUMNS 代替 sys.columns
SELECT TABLE_CATALOG,TABLE_SCHEMA,TABLE_SCHEMA,COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME LIKE '%MyColumn'
如果這是針對 Microsoft SQL Server的(在這種情況下,您應該為您的 questino 添加一個
sql-server
標籤!),您可以使用以下查詢:SELECT ColumnName = c.Name, SchemaName = SCHEMA_NAME(t.schema_id), TableName = t.name FROM sys.columns c INNER JOIN sys.tables t ON t.object_id = c.object_id WHERE c.name = 'your-column-name-here'