innoDB では、NULL は空の文字列よりも占有するスペースが少なくなります。さらに、NULL の長さは次のとおりです。 null、空の文字列の長さは 0 です。
これを理解するには、以下に示すように、create コマンドを使用してテーブルを作成します。 次のように -
mysql> CREATE table DemoEmptyAndNULL -> ( -> Message varchar(100) -> ); Query OK, 0 rows affected (0.49 sec)
テーブルが正常に作成されたら、次のコマンドを使用して空のレコードをテーブルに挿入します。 次のような挿入コマンド -
mysql> INSERT into DemoEmptyAndNULL values(' '); Query OK, 1 row affected (0.17 sec)
レコードを挿入した後、select コマンドを使用してすべてのレコードを表示できます これは次のとおりです -
mysql> SELECT * from DemoEmptyAndNULL;
上記のクエリを実行すると、次の出力が得られます -
+---------+ | Message | +---------+ | | +---------+ 1 row in set (0.00 sec)
組み込み関数を使用して空の文字列の長さをチェックするための構文関数内のカウントは次のとおりです Follow-
select count(column_name) from yourTableName;
上記の構文は、次のように指定される空の文字列の長さを取得するために使用されます-
mysql> select count(message) from DemoEmptyAndNULL;
上記のクエリを実行すると、出力は次のようになります-
+----------------+ | count(message) | +----------------+ | 1 | +----------------+ 1 row in set (0.06 sec)
上記の出力から、空の文字列の長さが 1 であることがわかります。
次に、NULL の長さを確認します。まず、テーブルに挿入されるレコードは次のとおりです。 次のように削除コマンドを使用して削除します-
mysql> delete from DemoEmptyAndNULL where message=' '; Query OK, 1 row affected (0.19 sec)
次のクエリは、現在のテーブルにレコードがないかどうかを確認するために使用されます
mysql> SELECT * from DemoEmptyAndNULL; Empty set (0.00 sec)
これで、NULL 値のレコードがテーブルに挿入されます次のように-
mysql> INSERT into DemoEmptyAndNULL values(); Query OK, 1 row affected (0.18 sec)
select コマンドを使用してレコードが表示され、取得される出力は次のとおりです-
+---------+ | Message | +---------+ | NULL | +---------+ 1 row in set (0.00 sec)
これで、テーブル内に null 値を持つレコードは 1 つだけになりました。その長さを確認するには、次のクエリを実行します。 -
mysql> select count(message) from DemoEmptyAndNULL;
の使用方法は、上記のクエリの出力です -
+----------------+ | count(message) | +----------------+ | 0 | +----------------+ 1 row in set (0.00 sec)
上記の出力は、カウントが 0 (NULL 値) であることを意味します。
MySQL のバージョンを確認してみましょう。
mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.06 sec)
NULL 値を許可するとシステムに空の文字列の使用が強制されるため、データベースでは空の文字列を使用する方が良いでしょう。 余分な作業が発生し、探しているデータは提供されません。ただし、NULLはスローされません count() 関数の実行中に例外が発生します。
以上がMySQLにNULLと空の文字列を挿入するのはどちらが良いでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。