ホームページ  >  記事  >  データベース  >  mysql if が空かどうかを判断します

mysql if が空かどうかを判断します

王林
王林オリジナル
2023-05-23 11:15:083458ブラウズ

MySQL は、さまざまなアプリケーションや Web アプリケーションで広く使用されている、非常に人気のあるリレーショナル データベース管理システムです。 MySQL では、if ステートメントは、さまざまな条件のテストと処理に使用できる効果的なプログラミング ツールです。この記事では、MySQL の if ステートメントを使用して空かどうかを判断する方法に焦点を当てます。

単一フィールドが空かどうかを判断する

まず、単一フィールドが空かどうかを判断する方法を知る必要があります。これは、MySQL の is null および is not null 演算子を使用することで実現できます。 is null は列値が NULL かどうかをテストするために使用され、is not null は列値が NULL でないかどうかをテストするために使用されます。

たとえば、id、username、email の 3 つの列が含まれる user_info という名前のテーブルがあるとします。空の電子メールを含むレコードがあるかどうかをクエリするには、次の SQL ステートメントを使用できます:

SELECT * FROM user_info WHERE email is null;

同様に、非空の email の場合は、次の SQL ステートメントを使用できます:

SELECT * FROM user_info WHERE email is not null;

複数のフィールドが空かどうかを判断する

次に、その方法を見てみましょう。複数のフィールドが空かどうかを判断します。 MySQL では、if 関数を使用して条件文を作成できます。 if 関数の構文は次のとおりです:

IF(expr1,expr2,expr3)

このうち、expr1 がテスト条件で、true の場合は expr2 が返され、そうでない場合は expr3 が返されます。が返されます。したがって、if 関数を使用して複数のフィールドをテストできます。

たとえば、id、username、email の 3 つの列が含まれる user_info という名前のテーブルがあるとします。空の電子メールとユーザー名を持つレコードがあるかどうかをクエリするには、次の SQL ステートメントを使用できます:

SELECT * FROM user_info WHERE IF(email is null and username is null, true, false);

この SQL ステートメントでは、if 関数の最初のパラメーターがテスト条件です。電子メールとユーザー名の両方が空の場合、つまり true の場合、true が返されます。電子メールまたはユーザー名のいずれかが空でない場合、それは false となり、false が返されます。したがって、クエリは空の電子メールとユーザー名を含むすべてのレコードを返します。

単一フィールドが空かどうかを判断し、条件付き操作を実行する

実際のアプリケーションでは、通常、テスト条件が true の場合にいくつかの操作を実行する必要があります。 MySQL では、これは if ステートメントを使用して実現できます。 if 文の構文は次のとおりです:

IF(expr1,expr2,expr3)

このうち、expr1 がテスト条件で、true の場合は expr2 が実行され、そうでない場合は expr2 が実行されます。 expr3 が実行されます。したがって、if ステートメントを使用して、個々のフィールドをテストし、関連するアクションを実行できます。

たとえば、id、username、email の 3 つの列が含まれる user_info という名前のテーブルがあるとします。メールが空かどうかを確認してユーザー名をリセットしたいと考えています。電子メールが空の場合は、ユーザー名を「不明なユーザー」に設定し、それ以外の場合は変更しないでください。次の SQL ステートメントを使用できます。

UPDATE user_info SET username = IF(email is null, 'Unknown user', username);

この SQL ステートメントでは、if の最初のパラメータがステートメント これはテスト条件です。電子メールが空の場合は「不明なユーザー」が返され、それ以外の場合は元のユーザー名が返されます。したがって、この SQL ステートメントを実行すると、電子メールが空のすべてのレコードのユーザー名は「不明なユーザー」に設定されます。

概要

MySQL では、if ステートメントは、さまざまな条件のテストと処理に使用できる非常に強力なプログラミング ツールです。単一のフィールドが空かどうかをテストするには、is null 演算子と is not null 演算子を使用できます。複数のフィールドをテストするには、if 関数を使用できます。条件付きアクションを実行したい場合は、if ステートメントを使用できます。いずれの場合でも、これらのツールを使用すると、データを簡単にテストして処理できます。

以上がmysql if が空かどうかを判断しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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