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.00 sec)2. NULL値を挿入するJavaコード
次に、JDBCを使ってNULL値を挿入するJavaプログラムを見てみましょう。ポイントはsetNull(1, Types.NULL)の部分です。第1引数にはプレースホルダ「?」の位置(インデックス)、第2引数にはSQL型を指定します。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.Types;
public class InsertNullValueIntoDatabase{
public static void main(String[] args){
Connection con=null;
PreparedStatement ps=null;
try{
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/web?useSSL=false",
"root","123456");
String query="insert into DemoTable1893(FirstName) values(?) ";
ps= con.prepareStatement(query);
ps.setNull(1, Types.NULL);
ps.executeUpdate();
System.out.println("Check the DemoTable1893 ");
}
catch(Exception e){
e.printStackTrace();
}
}
}3. 実行結果の確認
プログラムを実行すると、コンソールに確認メッセージが表示されます。続いて、SELECT文でテーブルの中身を確認してみましょう。
mysql> select * from DemoTable1893;
実行結果は以下のようになります。
+-----------+ | FirstName | +-----------+ | NULL | +-----------+ 1 row in set (0.00 sec)
このように、FirstNameカラムにNULL値が正しく挿入されていることが確認できます。
補足:setNull()の使い方のポイント
- インデックス指定: 第1引数はプレースホルダの位置を表すため、複数のパラメータがある場合は該当する番号を指定します。
- SQL型の指定:
Types.NULL以外にも、カラムの型に合わせてTypes.VARCHARやTypes.INTEGERなどを指定すると、より明確な意図をドライバに伝えられます。 - リソース管理: 実運用ではtry-with-resources構文を使い、
ConnectionやPreparedStatementを確実にクローズすることを推奨します。
-
Javaを使ってMySQLテーブルにレコードを挿入する方法
はじめに本記事では、JavaのJDBC(Java Database Connectivity)を使用して、MySQLデータベースのテーブルにレコードを挿入する手順を解説します。まずテーブルを作成し、その後Javaプログラムからデータを登録するまでの一連の流れを見ていきましょう。1. MySQLでテーブルを作成するまず、データを挿入するためのテーブルを作成します。以下はMySQLでテーブルを作成するクエリです。mysql> create table DemoTable( Id int, Name varchar(30),&
-
JavaでMySQLテーブルに1つのカラムのみを挿入する方法
JavaとMySQLを連携させる際、テーブルの一部のカラムだけにデータを挿入したいケースはよくあります。その場合は、JDBCのINSERT INTOステートメントを使用します。挿入対象のカラム名を明示的に指定することで、他のカラムには影響を与えずに1つのカラムのみへ値を登録できます。この記事では、実際にテーブルを作成し、Javaのコードから「Name」という1つのカラムだけにデータを挿入する手順を解説します。1. 挿入先のテーブルを作成するまず、MySQLで以下のようにテーブルを作成しておきましょう。ここでは、varchar型の「Name」カラムを1つだけ持つシンプルなテーブルを用意します。m