首頁 >資料庫 >mysql教程 >如何使用單一 SQL 查詢提取包含描述的 SQL Server 表元資料?

如何使用單一 SQL 查詢提取包含描述的 SQL Server 表元資料?

Susan Sarandon
Susan Sarandon原創
2025-01-04 08:41:34585瀏覽

How Can I Extract SQL Server Table Metadata Including Descriptions Using a Single SQL Query?

透過SQL 描述擷取表元資料

簡介

了解伺服器表對於資料管理至關重要。本文解決了提取全面的表元資料的需求,包括描述、欄位名稱和資料類型。

SQL 語句

要檢索所需的元數據,請使用以下SQL宣告可以是使用:

SELECT
  u.name + '.' + t.name AS [table],
  td.value AS [table_desc],
  c.name AS [column],
  cd.value AS [column_desc]
FROM
  sysobjects t
INNER JOIN
  sysusers u ON u.uid = t.uid
LEFT OUTER JOIN
  sys.extended_properties td ON td.major_id = t.id AND td.minor_id = 0 AND td.name = 'MS_Description'
INNER JOIN
  syscolumns c ON c.id = t.id
LEFT OUTER JOIN
  sys.extended_properties cd ON cd.major_id = c.id AND cd.minor_id = c.colid AND cd.name = 'MS_Description'
WHERE
  t.type = 'u'
ORDER BY
  t.name, c.colorder

細分

    查詢先選取所需的欄位:表格名稱與資料庫名稱、表格描述、欄位名稱和列描述。
  • 資料是從多個系統表收集的,包括sysobjects(表)、sysusers (資料庫使用者)和 syscolumns(表列)。
  • sys.extended_properties 的左外連接檢索包含表格和欄位描述的擴充屬性。
  • WHERE 子句過濾使用者表(type = 'u').
  • ORDER BY子句按表名和列對結果進行排序

範例輸出

查詢的輸出將產生一個包含以下列的表:

table table_desc column column_desc
AdventureWorks.Product Product table ProductID Primary key of the product
AdventureWorks.Product Product table Name Product name
AdventureWorks.SalesOrder Sales order table OrderID Unique identifier of the sales order
AdventureWorks.SalesOrder Sales order table CustomerID Customer placing the order

結論

這條SQL語句提供了一種全面的提取表的方法元數據,包括描述、字段名稱和數據類型。透過了解資料表的結構和內容,使用者可以更好地管理、查詢和操作 SQL Server 中的資料。

以上是如何使用單一 SQL 查詢提取包含描述的 SQL Server 表元資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn