MySQL 列が Null または空かどうかを確認する

Rashmi Patidar 2024年2月15日
MySQL 列が Null または空かどうかを確認する

MySQL または任意のプログラミング言語では、テーブル作成のインスタンスで制約またはチェックを追加する特権があります。 これらの制約は、ユーザーがテーブルの特定のフィールドに挿入される値を制限するのに役立ちます。

この制限により、ユーザーは明確に定義された一連のデータを列に入力できます。 ただし、スキーマの作成時にこれらの制約が適用されない場合は、クエリを適用して行を抽出するオプションがあります。

MySQL で列が Null または空かどうかを確認する

テーブル内に存在する null または空の列値を除外する手順については、前のセクションで説明します。

NULL または空のチェックの構文は次のとおりです。

Select expression [, expression2] ...
     FROM table-name
    [WHERE column-name IS NULL or column-name = '']

上記のクエリでは、Select の基本的な構文を使用して、テーブルから null 値と空の値を抽出するステートメントを形成しています。 IS NULL のようないくつかのキーワードを明示的に列名とともに使用して、null 値を除外します。

また、empty チェックでは、列名と空白文字の単純な一致がチェックされます。 この Select クエリの IS NULL キーワードの組み合わせクエリは、列名に null または空の値を持つサブセット行を抽出します。

IS NULL チェックの詳細を理解しましょう。

IS NULL キーワードは、列の null 値をチェックする演算子です。 これは中間演算子であり、MySQL で SelectUpdateDelete などのアクションを実行するために他のクエリで使用されます。

テーブルに対する実際のチェッククエリの前のクエリのリスト:

  1. MySQL で Create クエリを使用してテーブルを作成します。 クエリは初期スキーマを作成します。

    Create table student ( id varchar(255), name varchar(255), dob date);
    

    上記のクエリでは、primary keyuniquenot null などの制約は使用されていません。 したがって、スキーマは目的の結果を抽出します。

    参考までに、作成したテーブルのスクリーンショットを追加します。

    制約のないテーブル スキーマ

  2. テーブルにいくつかの値を挿入します。

    Insert into student values ( null,'Josheph', '2022-06-08');
    Insert into student values ( '117','', '2022-06-06');
    

    上記のクエリは、いくつかの必要な値をテーブルに挿入します。 他の値も追加できます。

    以下、参考までにスクリーンショット。

    テーブル内のエントリのリスト

  3. 実際のクエリを実行して、null および空の行をフィルタリングします。

    MySQL ステートメントを実行するクエリ:

    Select * from student where name IS NULL or name = '';
    Select * from student where id IS NULL or id = '';
    

    上記のクエリは、名前が null または空である上記のテーブルに存在する値のリストを抽出します。 同様に、2 番目の Select クエリでは、ID フィールド属性のチェックが空の文字値または null 値と一致します。

    以下は、参照用の実際のローカル実行のスクリーンショットです。

    ローカル実行のスクリーンショット:

    列の値が null かどうかを MySQL で確認

    MySQL Select if Column Value is Empty

著者: Rashmi Patidar
Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

関連記事 - MySQL Column