ホームページ  >  記事  >  データベース  >  MySQL NULL 値処理サンプル チュートリアル

MySQL NULL 値処理サンプル チュートリアル

零下一度
零下一度オリジナル
2017-05-15 10:31:241442ブラウズ

MySQL NULL値処理

MySQL が SQL SELECT コマンドと WHERE 句を使用してデータ テーブル内のデータを読み取ることはすでにわかっていますが、指定されたクエリ条件フィールドが NULL の場合、コマンドは正しく機能しない可能性があります。

この状況に対処するために、MySQL は 3 つの主要な演算子を提供します:

IS NULL: カラム値が NULL の場合、この演算子は true を返します。

IS NOT NULL: 列の値が NULL でない場合、演算子は true を返します。

96b4fef55684b9312718d5de63fb7121: 比較演算子 (= 演算子とは異なります)、比較された 2 つの値が NULL の場合に true を返します。

NULL の条件付き比較演算は非常に特殊です。 = NULL または ! は使用できません。 =NULL は列内の NULL 値を検索します。

MySQL では、NULL 値と他の値 (NULL であっても) の比較は常に false を返します。つまり、NULL = NULL は false を返します。

MySQL は、IS NULL 演算子と IS NOT NULL 演算子を使用して NULL を処理します。

コマンドプロンプトでのNULL値の使用

次の例では、データベースガイドのテーブルtcount_tblにtutorial_authorとtutorial_countの2つの列が含まれており、tutorial_countにNULL値が挿入されていると想定しています。

次の例を試してください:

root @ host#mysql -u root -p password;
输入密码:*******
mysql> use TUTORIALS;数据库已更改mysql> create table tcount_tbl
    - >(
    - > tutorial_author varchar(40)NOT NULL,
    - > tutorial_count INT
    - >);
查询OK,0行受影响(0.05秒)
mysql> INSERT INTO tcount_tbl
    - >(tutorial_author,tutorial_count)值('mahran',20);
mysql> INSERT INTO tcount_tbl
    - >(tutorial_author,tutorial_count)values('mahnaz',NULL);
mysql> INSERT INTO tcount_tbl
    - >(tutorial_author,tutorial_count)值('Jen',NULL);
mysql> INSERT INTO tcount_tbl
    - >(tutorial_author,tutorial_count)值('Gill',20);
mysql> select * from tcount_tbl;
+ ----------------- + ---------------- +
| tutorial_author | tutorial_count |
+ ----------------- + ---------------- +
| 马赫兰 20 |
| mahnaz | NULL |
| 仁| NULL |
| 鳃| 20 |
+ ----------------- + ---------------- +
4行(0.00秒)
MySQL的>

次の例では、 = と! が表示されます。 = 演算子は機能しません

mysql> SELECT * FROM tcount_tbl WHERE tutorial_count = NULL;
空置(0.00秒)
mysql> SELECT * FROM tcount_tbl WHERE tutorial_count!= NULL;
空置(0.01秒)

データ テーブルのtutorial_count列がNULLかどうかをクエリするには、次の例に示すように、IS NULLとIS NOT NULLを使用する必要があります:

mysql> SELECT * FROM tcount_tbl 
    - > WHERE tutorial_count IS NULL;
+ ----------------- + ---------------- +
| tutorial_author | tutorial_count |
+ ----------------- + ---------------- +
| mahnaz | NULL |
| 仁| NULL |
+ ----------------- + ---------------- +
2行(0.00秒)
mysql> select * from tcount_tbl 
    - > WHERE tutorial_count is NOT NULL;
+ ----------------- + ---------------- +
| tutorial_author | tutorial_count |
+ ----------------- + ---------------- +
| 马赫兰 20 |
| 鳃| 20 |
+ ----------------- + ---------------- +
2行(0.00秒)

PHPスクリプトを使用してNULL値を処理する

PHP スクリプトでは、if ... else ステートメントを使用して、変数 が空かどうかを処理し、対応する条件ステートメントを生成できます。

次の例では、PHP は $tutorial_count 変数を設定し、この変数を使用してデータ テーブルのtutorial_count フィールドと比較します。 「php プログラマー ツールボックス」V0.1 バージョンのダウンロード


2.

無料の mysql オンライン ビデオ チュートリアル

3. データベース設計に関する事項

以上がMySQL NULL 値処理サンプル チュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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