Heim > Datenbank > MySQL-Tutorial > Wie kann ich Details zu SQL Server-Tabellenspalten einschließlich Einschränkungen und Datentypen abrufen?

Wie kann ich Details zu SQL Server-Tabellenspalten einschließlich Einschränkungen und Datentypen abrufen?

Susan Sarandon
Freigeben: 2025-01-01 05:26:10
Original
271 Leute haben es durchsucht

How Can I Retrieve SQL Server Table Column Details Including Constraints and Data Types?

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')
Nach dem Login kopieren

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
Nach dem Login kopieren

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')
Nach dem Login kopieren

Das Ausführen dieser Abfrage wird Erstellen Sie eine detaillierte Tabelle, die die folgenden Spalten enthält:

  • Spaltenname
  • Datentyp
  • Maximale Länge (für Zeichendatentypen und einige numerische Typen)
  • Präzision (für numerische Datentypen)
  • Skalierung (für numerische Daten Typen)
  • ist Null (zeigt an, ob die Spalte Nullwerte zulässt)
  • Primärschlüssel (zeigt an, ob die Spalte Teil einer Primärschlüsseleinschränkung ist)

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage