首页 >数据库 >mysql教程 >如何在 SQL 中查找列与特定名称匹配的表?

如何在 SQL 中查找列与特定名称匹配的表?

Susan Sarandon
Susan Sarandon原创
2025-01-20 00:41:09321浏览

How to Find Tables with Columns Matching a Specific Name in SQL?

查找包含指定名称列的表

数据库中的表包含具有特定名称的列。查找包含特定名称列的所有表非常有用。此查询允许您识别这些表:

SQL 查询:

<code class="language-sql">SELECT      c.name  AS 'ColumnName'
            ,(SCHEMA_NAME(t.schema_id) + '.' + t.name) AS 'TableName'
FROM        sys.columns c
JOIN        sys.tables  t   ON c.object_id = t.object_id
WHERE       c.name LIKE '%MyName%'
ORDER BY    TableName
            ,ColumnName;</code>

说明:

此查询连接 sys.columnssys.tables 表,以查找与指定名称 ('MyName') 匹配的列名称 (c.name) 和表名称 (TableName)。SCHEMA_NAME 函数用于在 TableName 结果中包含模式名称。按 TableNameColumnName 排序,可以轻松识别包含多个匹配列的表。

扩展功能:

您还可以通过将 sys.tables 表替换为 sys.objects 来在搜索中包含视图:

<code class="language-sql">SELECT      COLUMN_NAME AS 'ColumnName'
            ,TABLE_NAME AS  'TableName'
FROM        INFORMATION_SCHEMA.COLUMNS
WHERE       COLUMN_NAME LIKE '%MyName%'
ORDER BY    TableName
            ,ColumnName;</code>

以上是如何在 SQL 中查找列与特定名称匹配的表?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn