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

MySQLのINT型カラムにNULL値を挿入する方法

MySQLでは、INT型のカラムにNULL値を挿入することができます。ただし、そのカラムにNOT NULL制約が設定されていないという条件が必要です。基本の構文は以下のとおりです。

INSERT INTO yourTableName(yourColumnName) values(NULL);

サンプルテーブルの作成

実際の動作を確認するため、まずテスト用のテーブルを作成しましょう。テーブル作成のクエリは次のとおりです。

mysql> create table InsertNullDemo
-> (
-> StudentId int,
-> StudentName varchar(100),
-> StudentAge int
-> );
Query OK, 0 rows affected (0.53 sec)

このテーブルは「StudentId(学生ID)」「StudentName(学生名)」「StudentAge(年齢)」の3つのカラムを持っています。今回はStudentAgeカラムにNULLを挿入していきます。

NULL値を挿入する方法

NULLを挿入する方法は2通りあります。

  • 値を省略する方法: INSERT文で対象カラムを指定しなければ、MySQLはデフォルトでNULLを挿入します。
  • 明示的にNULLを指定する方法: 値として直接NULLを記述することもできます。

それぞれのクエリは以下のようになります。

mysql> insert into InsertNullDemo(StudentId,StudentName) values(101,'Mike');
Query OK, 1 row affected (0.19 sec)

mysql> insert into InsertNullDemo values(101,'Mike',NULL);
Query OK, 1 row affected (0.24 sec)

1つ目のINSERT文ではStudentIdとStudentNameのみを指定しているため、StudentAgeには自動的にNULLが格納されます。2つ目のINSERT文では、NULLを明示的に指定して挿入しています。

挿入結果の確認

SELECT文で全レコードを表示し、INT型カラムにNULLが正しく挿入されているか確認します。

mysql> select *from InsertNullDemo;

実行結果は以下のとおりです。INT型カラムであるStudentAgeにNULLが表示されているのが分かります。

+-----------+-------------+------------+
| StudentId | StudentName | StudentAge |
+-----------+-------------+------------+
| 101       | Mike        | NULL       |
| 101       | Mike        | NULL       |
+-----------+-------------+------------+
2 rows in set (0.00 sec)

まとめ

NOT NULL制約が設定されていないINT型カラムに対しては、値を省略しても、明示的にNULLを指定しても、NULLを挿入できます。逆にNULLを許可したくない場合は、テーブル作成時やALTER TABLEでカラムにNOT NULL制約を追加しておきましょう。これにより、意図しないNULLデータの混入を防ぐことができます。

  1. Javaを使ってDATE型の値をMySQLカラムに挿入する方法【PreparedStatement活用】

    はじめに JavaからMySQLのDATE型カラムに日付データを挿入したい場合、PreparedStatementを使用するのが最も安全で推奨される方法です。SQLインジェクション対策にもなり、日付型の変換もスムーズに行えます。 本記事では、Javaプログラムから現在の日付をMySQLテーブルに挿入する手順を、サンプルコード付きでわかりやすく解説します。 1. サンプルテーブルの作成 まず、DATE型のカラム「ArrivalDate」を含むテーブルを作成します。以下はMySQLでの作成例です。 mysql> create table DemoTable( PassengerId

  2. JavaでMySQLデータベースにNULL値を挿入する方法

    JavaからデータベースにNULL値を挿入したいケースはよくあります。その場合、PreparedStatementのsetNull()メソッドを使用します。基本的な構文は以下の通りです。ps.setNull(インデックス番号, Types.NULL);この記事では、実際にサンプルを通してNULL値の挿入手順を解説します。1. テーブルの作成まず、MySQLでテスト用のテーブルを作成します。mysql> create table DemoTable1893 ( FirstName varchar(20) ); Query OK, 0 rows affected (0