ホームページ  >  記事  >  データベース  >  SQL でのテーブル列と NULL 制約の表示

SQL でのテーブル列と NULL 制約の表示

WBOY
WBOYオリジナル
2024-07-25 15:43:00621ブラウズ

Displaying Table Columns and NULL Constraints in SQL

データベースを操作する場合、テーブル内のどの列が NULL 値を許可し、どの列が許可しないのかを知っておくと役立つことがよくあります。この情報は、データベースの情報スキーマに対して SQL クエリを使用して簡単に取得できます。以下では、MySQL と PostgreSQL の両方でこれを行う方法を示します。

MySQL

MySQL の特定のテーブルのカラムとその NULL 制約のリストを取得するには、INFORMATION_SCHEMA.COLUMNS テーブルをクエリします。使用できるクエリは次のとおりです:

SELECT 
    COLUMN_NAME AS 'Column Name', 
    IS_NULLABLE AS 'Is Nullable'
FROM 
    INFORMATION_SCHEMA.COLUMNS
WHERE 
    TABLE_SCHEMA = 'your_database_name' 
    AND TABLE_NAME = 'your_table_name'
ORDER BY 
    ORDINAL_POSITION;

説明:

  • COLUMN_NAME: 列の名前。
  • IS_NULLABLE: 列が NULL 値を許可するかどうかを示します (YES は NULL を許可することを意味し、NO は NULL を許可しないことを意味します)。
  • TABLE_SCHEMA: データベースの名前。
  • TABLE_NAME: テーブルの名前。
  • ORDINAL_POSITION: 列がテーブル スキーマに表示される順序でリストされていることを確認します。
PostgreSQL

同様に、PostgreSQL では、information_schema.columns テーブルにクエリを実行して、この情報を取得できます。同等のクエリは次のとおりです:


SELECT 
    column_name AS "Column Name", 
    is_nullable AS "Is Nullable"
FROM 
    information_schema.columns
WHERE 
    table_schema = 'public' 
    AND table_name = 'your_table_name'
ORDER BY 
    ordinal_position;

説明:

  • column_name: 列の名前。
  • is_nullable: 列が NULL 値を許可するかどうかを示します (YES は NULL を許可することを意味し、NO は NULL を許可しないことを意味します)。
  • table_schema: 別のスキーマを使用している場合を除き、通常、ほとんどのユーザー定義テーブルは「public」です。
  • table_name: テーブルの名前。
  • ordinal_position: 列がテーブル スキーマに表示される順序でリストされていることを確認します。

my_database という名前のデータベースに users という名前のテーブルがあると仮定します。制約をクエリする方法は次のとおりです:

MySQL の例:
SELECT 
    COLUMN_NAME AS 'Column Name', 
    IS_NULLABLE AS 'Is Nullable'
FROM 
    INFORMATION_SCHEMA.COLUMNS
WHERE 
    TABLE_SCHEMA = 'my_database' 
    AND TABLE_NAME = 'users'
ORDER BY 
    ORDINAL_POSITION;
PostgreSQL の例:
SELECT 
    column_name AS "Column Name", 
    is_nullable AS "Is Nullable"
FROM 
    information_schema.columns
WHERE 
    table_schema = 'public' 
    AND table_name = 'users'
ORDER BY 
    ordinal_position;
出力例:
Column Name Is Nullable
id NO
name NO
email YES
created_at NO
updated_at YES
これらのクエリを使用すると、テーブル列の NULL 制約を簡単にチェックでき、スキーマとデータの要件をより深く理解できます。

以上がSQL でのテーブル列と NULL 制約の表示の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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