JavaでMySQLテーブルに1つのカラムのみを挿入する方法
JavaとMySQLを連携させる際、テーブルの一部のカラムだけにデータを挿入したいケースはよくあります。その場合は、JDBCのINSERT INTOステートメントを使用します。挿入対象のカラム名を明示的に指定することで、他のカラムには影響を与えずに1つのカラムのみへ値を登録できます。
この記事では、実際にテーブルを作成し、Javaのコードから「Name」という1つのカラムだけにデータを挿入する手順を解説します。
1. 挿入先のテーブルを作成する
まず、MySQLで以下のようにテーブルを作成しておきましょう。ここでは、varchar型の「Name」カラムを1つだけ持つシンプルなテーブルを用意します。
mysql> create table DemoTable
-> (
-> Name varchar(20)
-> );
Query OK, 0 rows affected (0.54 sec)
2. Javaコードで1つのカラムにデータを挿入する
次に、JavaからMySQLへ接続し、「Name」カラムのみに値を挿入するサンプルコードを紹介します。SQLインジェクションを防ぎ、安全に値をバインドできるPreparedStatementを使用するのがポイントです。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class InsertOneColumnDemo {
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 DemoTable(Name) values(?) ";
ps = con.prepareStatement(query);
ps.setString(1, "Robert");
ps.executeUpdate();
System.out.println("Record is inserted successfully......");
}
catch (Exception e) {
e.printStackTrace();
}
}
}
コードのポイント
- DriverManager.getConnection(): JDBC URL・ユーザー名・パスワードを指定してMySQLデータベースへの接続を取得します。
- INSERT INTO DemoTable(Name): カラム名を明示的に指定することで、「Name」カラムのみに値が挿入されます。
- ps.setString(1, "Robert"): プレースホルダー「?」に文字列値を安全にバインドします。
- executeUpdate(): INSERT文を実行し、レコードをデータベースに登録します。
このプログラムを実行すると、コンソールに挿入成功のメッセージが出力されます。
3. 挿入されたレコードを確認する
データが正しく挿入されたかどうかは、SELECT文で確認できます。
mysql> select * from DemoTable;
実行結果は以下の通りです。「Name」カラムに「Robert」が登録されていることがわかります。
+--------+
| Name |
+--------+
| Robert |
+--------+
1 row in set (0.00 sec)
まとめ
JavaからMySQLテーブルの特定の1カラムだけにデータを挿入するには、INSERT文でカラム名を明示的に指定し、PreparedStatementで値をバインドするのが基本です。この方法なら、不要なカラムにNULLやデフォルト値が入ることを避けつつ、安全で効率的なデータ登録が可能になります。実務では、接続情報を外部設定ファイルに分離したり、try-with-resourcesでリソースを自動クローズしたりすると、より堅牢なコードになります。
-
JavaのPreparedStatementを使ってMySQLテーブルを更新する方法
JavaからMySQLのテーブルを更新するには、PreparedStatementを使用するのが一般的で安全な方法です。PreparedStatementを使うことで、SQLインジェクションを防ぎつつ、パラメータを動的に設定できます。この記事では、実際にテーブルを作成し、Javaプログラムからレコードを更新するまでの一連の手順を解説します。1. テーブルの作成まず、MySQLで更新用のテーブルを作成しましょう。mysql> create table DemoTable( Id int, FirstName varchar(40) ); Query OK, 0 rows a
-
Javaを使ってMySQLテーブルにレコードを挿入する方法
はじめに本記事では、JavaのJDBC(Java Database Connectivity)を使用して、MySQLデータベースのテーブルにレコードを挿入する手順を解説します。まずテーブルを作成し、その後Javaプログラムからデータを登録するまでの一連の流れを見ていきましょう。1. MySQLでテーブルを作成するまず、データを挿入するためのテーブルを作成します。以下はMySQLでテーブルを作成するクエリです。mysql> create table DemoTable( Id int, Name varchar(30),&