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

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

JavaからデータベースにNULL値を挿入したいケースはよくあります。その場合、PreparedStatementsetNull()メソッドを使用します。基本的な構文は以下の通りです。

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.VARCHARTypes.INTEGERなどを指定すると、より明確な意図をドライバに伝えられます。
  • リソース管理: 実運用ではtry-with-resources構文を使い、ConnectionPreparedStatementを確実にクローズすることを推奨します。
  1. Javaを使ってMySQLテーブルにレコードを挿入する方法

    はじめに本記事では、JavaのJDBC(Java Database Connectivity)を使用して、MySQLデータベースのテーブルにレコードを挿入する手順を解説します。まずテーブルを作成し、その後Javaプログラムからデータを登録するまでの一連の流れを見ていきましょう。1. MySQLでテーブルを作成するまず、データを挿入するためのテーブルを作成します。以下はMySQLでテーブルを作成するクエリです。mysql> create table DemoTable(   Id int,   Name varchar(30),&

  2. JavaでMySQLテーブルに1つのカラムのみを挿入する方法

    JavaとMySQLを連携させる際、テーブルの一部のカラムだけにデータを挿入したいケースはよくあります。その場合は、JDBCのINSERT INTOステートメントを使用します。挿入対象のカラム名を明示的に指定することで、他のカラムには影響を与えずに1つのカラムのみへ値を登録できます。この記事では、実際にテーブルを作成し、Javaのコードから「Name」という1つのカラムだけにデータを挿入する手順を解説します。1. 挿入先のテーブルを作成するまず、MySQLで以下のようにテーブルを作成しておきましょう。ここでは、varchar型の「Name」カラムを1つだけ持つシンプルなテーブルを用意します。m