Récupération des détails des colonnes d'un tableau avec des contraintes et des types de données
Lorsqu'il s'agit d'une grande base de données, il devient essentiel d'avoir une compréhension globale de la table structures et contraintes. En obtenant la liste des colonnes d'une table ainsi que les types de données associés, les contraintes NOT NULL et les informations PRIMARY KEY, vous pouvez obtenir des informations précieuses sur votre architecture de données.
SQL Server fournit plusieurs mécanismes pour extraire ces détails. Une requête simple peut récupérer les noms de colonnes, les types de données et le statut de nullabilité :
SELECT c.name AS ColumnName, t.Name AS DataType, c.is_nullable AS IsNull FROM sys.columns c JOIN sys.types t ON c.user_type_id = t.user_type_id WHERE c.object_id = OBJECT_ID('YourTableName')
Intégration des informations PRIMARY KEY
Pour améliorer encore cette requête, nous pouvons incorporer Contraintes de CLÉ PRIMAIRE. En tirant parti des tables sys.index_columns et sys.indexes, nous pouvons déterminer si une colonne est définie comme clé primaire :
LEFT OUTER JOIN sys.index_columns ic ON ic.object_id = c.object_id AND ic.column_id = c.column_id LEFT OUTER JOIN sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id
Requête finale et sortie
La combinaison des extraits de code précédents donne la requête complète suivante :
SELECT c.name AS "Column Name", t.Name AS "Data Type", c.max_length AS "Max Length", c.precision, c.scale, c.is_nullable AS "is Null", ISNULL(i.is_primary_key, 0) AS "Primary Key" FROM sys.columns c INNER JOIN sys.types t ON c.user_type_id = t.user_type_id LEFT OUTER JOIN sys.index_columns ic ON ic.object_id = c.object_id AND ic.column_id = c.column_id LEFT OUTER JOIN sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id WHERE c.object_id = OBJECT_ID('YourTableName')
L'exécution de cette requête produira un résultat détaillé tableau qui comprend les colonnes suivantes :
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!