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

MySQLでテーブルの列にNULL値を設定して挿入する方法

テーブル列にNULL値を許可する方法

MySQLでは、列の定義時にNULLを指定することで、その列にNULL値を保存できるようになります。以下の構文に従って、データ型の後にNULLを記述してください。

yourColumnName dataType NULL;

テーブルの作成

まず、FirstName列にNULL値を許可するテーブルを作成しましょう。

mysql> create table DemoTable759 (
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    FirstName varchar(100) NULL
);
Query OK, 0 rows affected (0.72 sec)

この例では、Id列はNOT NULL制約付きの自動増分主キーですが、FirstName列にはNULLが指定されているため、値を入れずにレコードを挿入することが可能です。

NULL値を含むレコードの挿入

INSERTコマンドを使って、通常の値とNULL値を混在させてレコードを挿入します。

mysql> insert into DemoTable759(FirstName) values('John');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable759(FirstName) values(NULL);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable759(FirstName) values('Carol');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable759(FirstName) values(NULL);
Query OK, 1 row affected (0.12 sec)

上記のように、値の代わりに直接NULLを指定することで、列にNULL値を挿入できます。同じ操作を繰り返せば、複数のNULL値を持つレコードも問題なく追加できます。

結果の確認

SELECT文ですべてのレコードを表示してみましょう。

mysql> select *from DemoTable759;

実行すると以下のような出力が得られます。列の中にNULL値が表示されていることが確認できます。

+----+-----------+
| Id | FirstName |
+----+-----------+
|  1 | John      |
|  2 | NULL      |
|  3 | Carol     |
|  4 | NULL      |
+----+-----------+
4 rows in set (0.00 sec)

まとめ

このように、列定義にNULLを明示的に指定すれば、その列にはNULL値を挿入できます。逆にNULLを許可したくない場合は、NOT NULL制約を設定します。データの性質に応じて適切に使い分けることで、より堅牢なテーブル設計が可能になります。

  1. MySQLで異なる日付形式の日付レコードを同じテーブルに挿入する方法

    MySQLでは、INSERT INTO SELECT文とDATE_FORMAT()関数を組み合わせることで、異なる日付形式に変換したデータを同じテーブルに挿入できます。この記事では、実際の手順をサンプルコードとともに解説します。1. テーブルを作成するまず、datetime型のカラムとtext型のカラムを持つテーブルを作成します。mysql> create table DemoTable    -> (    -> DateOfJoining datetime,   

  2. MySQLで列にENUM型を設定する方法

    ```html MySQLでは、テーブルを作成する際に、あらかじめ決められた文字列のリストから値を選ばせたい列に対してENUM型を設定できます。ENUMは、指定した候補値以外のデータが登録されるのを防ぎたい場合に便利なデータ型です。ここでは、実際にテーブルを作成しながら基本的な使い方を見ていきましょう。ENUM型を含むテーブルを作成するまず、学生の点数と合否ステータスを管理するテーブルを作成します。「StudentStatus」列には「First」「Second」「Fail」の3つの値のみを許可するENUM型を設定しています。mysql> create table DemoTable20