MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでNULL値を挿入・設定する方法をわかりやすく解説

NULL値を挿入するにはUPDATEコマンドを使用する

MySQLで既存の列にNULL値を設定(挿入)するには、UPDATEコマンドを使用します。基本的な構文は以下のとおりです。

UPDATE yourTableName SET yourColumnName=NULL;

なお、上記のようにWHERE句を指定しない場合、テーブル内のすべての行が更新される点に注意してください。特定の行だけをNULLにしたい場合は、WHERE句で条件を指定するようにしましょう。

1. テーブルの作成

まず、サンプル用のテーブルを作成します。

mysql> create table insertNullValue
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> ClientName varchar(100),
-> ClientCountryName varchar(20)
-> );
Query OK, 0 rows affected (0.54 sec)

2. レコードの挿入

INSERTコマンドを使用して、テーブルにレコードを挿入します。

mysql> insert into insertNullValue(ClientName,ClientCountryName) values('Larry','US');
Query OK, 1 row affected (0.19 sec)

mysql> insert into insertNullValue(ClientName,ClientCountryName) values('David','AUS');
Query OK, 1 row affected (0.09 sec)

mysql> insert into insertNullValue(ClientName,ClientCountryName) values('Bob','UK');
Query OK, 1 row affected (0.17 sec)

3. 挿入したデータの確認

SELECT文を使って、テーブル内の全レコードを表示して確認します。

mysql> select * from insertNullValue;

実行結果は以下のとおりです。

+----+------------+-------------------+
| Id | ClientName | ClientCountryName |
+----+------------+-------------------+
| 1 | Larry | US |
| 2 | David | AUS |
| 3 | Bob | UK |
+----+------------+-------------------+
3 rows in set (0.00 sec)

4. 列にNULL値を設定する

次に、UPDATE文を使って「ClientCountryName」列にNULL値を設定します。

mysql> update insertNullValue set ClientCountryName=NULL;
Query OK, 3 rows affected (0.19 sec)
Rows matched: 3 Changed: 3 Warnings: 0

5. NULL値が設定されたか確認する

「ClientCountryName」列にNULL値が正しく設定されたかどうかを確認してみましょう。

mysql> select * from insertNullValue;

実行すると、NULL値が表示された以下の結果が得られます。

+----+------------+-------------------+
| Id | ClientName | ClientCountryName |
+----+------------+-------------------+
| 1 | Larry | NULL |
| 2 | David | NULL |
| 3 | Bob | NULL |
+----+------------+-------------------+
3 rows in set (0.00 sec)

補足:NULLと空文字列の違いに注意

NULLは「値が存在しない」ことを意味し、空文字列('')とは異なる概念です。また、NULL値を検索する場合は「= NULL」ではなく「IS NULL」を使用する点にも注意してください。

SELECT * FROM insertNullValue WHERE ClientCountryName IS NULL;
  1. MySQLのchar(1)型カラムにNULLを挿入する方法をわかりやすく解説

    MySQLのchar(1)型カラムにNULLを挿入するには MySQLでは、char(1)型のカラムにNULLを挿入したい場合、そのカラムを「NULL許容」として定義しておくことが重要です。カラム定義にNULLを明示的に指定しておけば、INSERT文を使ってNULLをそのまま格納できます。 また、sql_modeを「STRICT_TRANS_TABLES」に設定しておくと、無効な値を挿入しようとした際にエラーが発生し、データの整合性が厳密に保たれます。デフォルト設定によっては、不正な値が警告とともに自動調整されてしまうこともあるため、意図しないデータの登録を防ぎたい場合には厳密モードの活用がお

  2. MySQLでカラムのデフォルト値をNULLに設定する方法

    MySQLでは、DEFAULT NULLを指定することで、カラムのデフォルト値をNULLに設定できます。本記事では、実際にテーブルを作成し、デフォルト値NULLがどのように機能するかを具体的な例とともに解説します。デフォルト値がNULLのテーブルを作成するまず、DEFAULT NULLを指定したテーブルを作成します。mysql> create table DemoTable1440 -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(2