ホームページ >データベース >mysql チュートリアル >SQL Server で列情報、データ型、主キーを取得する方法

SQL Server で列情報、データ型、主キーを取得する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-12-31 17:40:14652ブラウズ

How to Retrieve Column Information, Data Types, and Primary Keys in SQL Server?

SQL Server での列情報、データ型、NULL 制約、および主キーの取得

SQL Server では、次の詳細情報を取得できます。特定のテーブル内の列 (データ型、長さ、NULL 値の許容性、主キーかどうかなど)。これを実現する方法は次のとおりです:

  1. 必要な列を選択します:
    次の列を選択してクエリを開始します:

    • 列名: c.name を使用して列名を取得します。
    • データ型: 使用します。 t.name を使用して列のデータ型を取得します。
    • 長さ: 定義された長さを持つ文字列およびその他のデータ型の場合は、c.max_length を使用します。
    • 精度と位取り: 数値データ型の場合、c.precision と c.scale が含まれます。
    • Nullable ステータス: c.is_nullable を使用して、列が null を許可するかどうかを判断します。 value.
  2. 必要なテーブルの結合:
    ベースの sys.columns テーブル (c としてエイリアス) を sys.types テーブル (t としてエイリアス) に結合します。 user_type_id に基づいて列固有の情報を取得します
  3. 主キー制約の確認:
    オプションで、sys.index_columns (ic) テーブルと sys.indexes (i) テーブルを結合することで、主キー制約を確認できます。 。カラムに is_primary_key が 1 に設定されたインデックスがある場合、それは主キーです。列が主キーではない場合を処理するには、ISNULL(i.is_primary_key, 0) を使用します。
  4. テーブル名によるフィルター:
    WHERE c.object_id = OBJECT_ID(' YourTableName') を使用して、特定のテーブルの結果をフィルターし、'YourTableName' を実際のテーブルに置き換えます。 name.
  5. テーブル名の置換:
    スキーマの場合、'YourTableName' を 'YourSchemaName.YourTableName' に置き換えます。

例クエリ:

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 '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')

出力:

クエリは次の情報を含むテーブルを返します:

Column Name Data type Max Length Null? Primary Key

以上がSQL Server で列情報、データ型、主キーを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。