Maison > base de données > tutoriel mysql > Comment puis-je extraire les métadonnées des tables SQL Server, y compris les descriptions, à l'aide d'une seule requête SQL ?

Comment puis-je extraire les métadonnées des tables SQL Server, y compris les descriptions, à l'aide d'une seule requête SQL ?

Susan Sarandon
Libérer: 2025-01-04 08:41:34
original
582 Les gens l'ont consulté

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

Extraction de métadonnées de table avec des descriptions SQL

Introduction

Comprendre la structure et le contenu de SQL Les tables de serveur sont cruciales pour la gestion des données. Cet article répond à la nécessité d'extraire des métadonnées de table complètes, y compris des descriptions, des noms de champs et des types de données.

Instruction SQL

Pour récupérer les métadonnées souhaitées, l'instruction SQL suivante la déclaration peut être employé :

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
Copier après la connexion

Répartition

  • La requête commence par sélectionner les colonnes souhaitées : nom de la table concaténé avec le nom de la base de données, description de la table, nom de la colonne et description de la colonne.
  • Les données sont collectées à partir de plusieurs tables système, notamment sysobjects (tables), sysusers (utilisateurs de la base de données) et syscolumns (colonnes de table).
  • Les jointures externes gauches de sys.extended_properties récupèrent les propriétés étendues qui contiennent des descriptions de table et de colonne.
  • La clause WHERE filtre les tables utilisateur (type = 'u' ).
  • La clause ORDER BY trie les résultats par nom de table et colonne order.

Exemple de sortie

La sortie de la requête produirait un tableau avec les colonnes suivantes :

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

Conclusion

Cette instruction SQL fournit une approche complète pour extraire les métadonnées des tables, y compris les descriptions, les noms de champs et types de données. En comprenant la structure et le contenu de leurs tables, les utilisateurs peuvent mieux gérer, interroger et manipuler leurs données dans SQL Server.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal