ホームページ  >  記事  >  データベース  >  mysqlのnullの意味は何ですか

mysqlのnullの意味は何ですか

coldplay.xixi
coldplay.xixiオリジナル
2020-10-19 14:04:246449ブラウズ

mysql null の意味: 1. 通常のフィールドでは、null 値は null 値を意味します; 2. TimesTamp タイプのフィールドに null 値が挿入された場合、null 値は必ずしも null であるとは限りません。

mysqlのnullの意味は何ですか

mysql null の意味:

Null 値はスペースを占有しませんが、MySQL では実際には NULL になります。スペースを占有します。

ただし、MySQL データベースで SQL ステートメントを実行する場合は、次の 2 つのトラップに注意する必要があります:

1. null 値は必ずしも null であるとは限りません

null 値は特殊な分野です。 MySQL データベースでは、null 値はさまざまな状況で異なる意味を表すことがよくあります。これは MySQL データベースの機能です。たとえば、通常のフィールド (文字データ) では、NULL 値は NULL 値を表します。ただし、TimesTamp タイプのフィールドに null 値を挿入した場合、null 値は必ずしも null であるとは限りません。このとき何が起こるか##​​

#まずテーブルを作成しました。このテーブルには、User_id (データ型は int)、Date (データ型は TimesTamp) の 2 つのフィールドがあります。次に、このテーブルにレコードを挿入します。このテーブルでは、日付フィールドに NULL 値が挿入されます。しかし、クエリを実行すると、結果にはレコードが挿入された現在の時刻が表示されます。何が起こっているのでしょうか? 実際、これは MySQL データベースで SQL ステートメントを実行するときによく遭遇する罠であり、null 値は必ずしも null であるとは限りません。操作中に NULL 値が挿入されたことは明らかですが、最終的なクエリ結果は NULL 値ではありません。

MySQL データベースでは、NULL は単なる null 値ではなく、一部の特殊なタイプのカラムに対する特別な意味を表します。このような特殊なタイプのコラムについて、読者が覚えておくべき主な点が 2 つあります。 1 つは、前述の TimesTamp データ型です。このデータ型の列に Null 値を挿入すると、その値はシステムの現在時刻を表します。もう 1 つは auto_increment 属性を持つ列です。この属性の列に Null 値を挿入すると、システムは一連の正の整数を挿入します。文字データなど、他のデータ型の列に Null データを挿入すると、Null 値が挿入されます。

2. null 値は null 文字と必ずしも等しいわけではありません

MySQL では、null 値 (Null) は null 文字 ('') と同じですか? 答えは「いいえ」です。 。

同じデータベース テーブルに、Null 値データと '' Null 文字データを同時に挿入し、Select ステートメントを使用してクエリを実行します。明らかに表示される結果が異なります。この結果から、NULL 値は NULL 文字と等しくないことがわかります。これは、MySQL で SQL ステートメントを実行するときに発生する 2 番目のトラップです。実際の業務では、null データと null 文字は異なる意味を持つことがよくあります。データベース管理者は、実際のニーズに基づいて選択できます。たとえば、電話番号などのフィールドは、デフォルトで null 値 (相手の電話番号がまったく不明であることを示す) に設定したり、空の文字 (その番号が後でキャンセルされたことを示す) に設定したりすることができます。

これらはデータベース内で異なる表現を持つため、データベース管理者はそれらを異なる方法で扱う必要があります。作成者は、null 文字ではなく null 値を使用することを好みます。これは主に、NULL 値のデータ型に特殊な演算文字がいくつかあるためです。フィールドに null 文字が含まれている場合、データベースは代わりにフィールド名を使用します。逆にNULL値を挿入した場合は、そのままNULLが表示されます。これは、他のデータベースの表示方法とも異なります。

1 つは、IS NULL キーワードと IS NOT NULL キーワードです。フィールドに NULL 値のデータが含まれているかどうかを確認したい場合は、特別なキーワードを使用する必要があります。前者はこのフィールドが空であることを意味し、後者はこのフィールドが空ではないことを意味します。これら 2 つのキーワードは、Select ステートメントのクエリ条件で非常に役立ちます。電話番号が空のすべてのユーザーをクエリする必要がある場合 (および電話番号情報を補足する必要がある場合)、クエリ条件に is not null キーワードを追加できます。

2 つ目は Count などの統計関数で、これにも null 値に対する特別なアプリケーションがあります。ユーザー情報テーブルに電話番号を持つユーザーの数をカウントする必要がある場合は、count 関数を使用して電話番号をパラメーターとして使用できます。統計処理中に、この関数は NULL 値データを自動的に無視するためです。このときカウントされるのは電話番号を伴うユーザー情報です。 NULL文字を含むデータが使用されている場合、この関数はそれをカウントします。作成されたばかりの 2 つのレコードをカウントすると、システム統計の結果は 2 ではなく 1 になります。システムが Null 値データを自動的に無視していることがわかります。

関連する無料学習の推奨事項: mysql データベース(ビデオ)

以上がmysqlのnullの意味は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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