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