Abrufen von Tabellenspaltendetails mit Einschränkungen und Datentypen
Beim Umgang mit einer großen Datenbank ist ein umfassendes Verständnis von Tabellen unerlässlich Strukturen und Zwänge. Indem Sie die Liste der Spalten in einer Tabelle zusammen mit den zugehörigen Datentypen, NOT NULL-Einschränkungen und PRIMARY KEY-Informationen abrufen, können Sie wertvolle Einblicke in Ihre Datenarchitektur gewinnen.
SQL Server bietet mehrere Mechanismen zum Extrahieren solcher Details. Eine einfache Abfrage kann die Spaltennamen, Datentypen und den Nullfähigkeitsstatus abrufen:
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')
PRIMÄRSCHLÜSSEL-Informationen integrieren
Um diese Abfrage weiter zu verbessern, können wir sie integrieren PRIMARY KEY-Einschränkungen. Durch die Nutzung der Tabellen sys.index_columns und sys.indexes können wir feststellen, ob eine Spalte als Primärschlüssel definiert ist:
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
Endgültige Abfrage und Ausgabe
Das Kombinieren der vorherigen Codeausschnitte führt zu der folgenden umfassenden Abfrage:
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')
Das Ausführen dieser Abfrage wird Erstellen Sie eine detaillierte Tabelle, die die folgenden Spalten enthält:
Das obige ist der detaillierte Inhalt vonWie kann ich Details zu SQL Server-Tabellenspalten einschließlich Einschränkungen und Datentypen abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!