データベースを操作する場合、テーブル内のどの列が NULL 値を許可し、どの列が許可しないのかを知っておくと役立つことがよくあります。この情報は、データベースの情報スキーマに対して SQL クエリを使用して簡単に取得できます。以下では、MySQL と PostgreSQL の両方でこれを行う方法を説明します。
MySQL
MySQL の特定のテーブルのカラムとその NULL 制約のリストを取得するには、INFORMATION_SCHEMA.COLUMNS テーブルをクエリします。使用できるクエリは次のとおりです:
リーリー
説明:
-
COLUMN_NAME: 列の名前。
-
IS_NULLABLE: 列が NULL 値を許可するかどうかを示します (YES は NULL を許可することを意味し、NO は NULL を許可しないことを意味します)。
- TABLE_SCHEMA: データベースの名前。
- TABLE_NAME: テーブルの名前。
- ORDINAL_POSITION: 列がテーブル スキーマに表示される順序でリストされていることを確認します。
PostgreSQL
同様に、PostgreSQL では、information_schema.columns テーブルにクエリを実行して、この情報を取得できます。同等のクエリは次のとおりです:
リーリー
説明:
- column_name: 列の名前
- is_nullable: 列が NULL 値を許可するかどうかを示します (YES は NULL を許可することを意味し、NO は NULL を許可しないことを意味します)。
table_schema- : 別のスキーマを使用している場合を除き、通常、ほとんどのユーザー定義テーブルは「public」です。
table_name- : テーブルの名前。
ordinal_position- : 列がテーブル スキーマに表示される順序でリストされていることを確認します。
例
my_database という名前のデータベースに users という名前のテーブルがあると仮定します。制約をクエリする方法は次のとおりです:
MySQL の例:
リーリー
PostgreSQL の例:
リーリー
出力例:
列名
Null 可能です |
|
ID
いいえ |
|
名前
いいえ |
|
メール
はい |
|
作成場所
いいえ |
|
更新日
はい |
|
これらのクエリを使用すると、テーブル列の NULL 制約を簡単にチェックでき、スキーマとデータの要件をより深く理解できます。
以上がSQL でのテーブル列と NULL 制約の表示の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。