JavaでMySQLデータベースのデータを削除する方法|DELETE文の使い方を徹底解説
MySQLデータベースからデータを削除するには、DELETEコマンドを使用します。まずは基本となる構文を確認しておきましょう。
DELETE文の基本構文
delete from テーブル名 where 条件;
WHERE句で条件を指定すると、該当するレコードだけをピンポイントで削除できます。逆に条件を指定しなかった場合、テーブル内の全データが削除されてしまうため、実行前には必ず条件を確認してください。
本記事では、JavaプログラムからMySQLデータベースのデータを削除する具体的な手順を解説します。はじめにサンプル用のテーブルを作成し、テストデータを挿入していきましょう。
サンプルテーブルの作成とデータ挿入
次のSQLを実行して、テーブルを作成します。
mysql> create table DeleteTableDemo -> ( -> id int, -> Name varchar(200) -> ); Query OK, 0 rows affected (0.94 sec)
続いて、作成したテーブルにレコードを挿入します。
mysql> insert into DeleteTableDemo values(101,'Smith'); Query OK, 1 row affected (0.21 sec) mysql> insert into DeleteTableDemo values(102,'Johnson'); Query OK, 1 row affected (0.27 sec)
登録済みレコードの確認
SELECT文を実行して、テーブルに登録されているレコードを確認してみましょう。
mysql> select *from DeleteTableDemo;
実行結果は以下の通りです。
+------+---------+ | id | Name | +------+---------+ | 101 | Smith | | 102 | Johnson | +------+---------+ 2 rows in set (0.00 sec)
この時点で、テーブルには2件のレコードが登録されています。
Javaプログラムでデータを削除する
それでは、DELETEコマンドを使って実際にデータを削除してみましょう。ここでは、id=101のレコードを削除するJavaコードを紹介します。削除処理の前に、JDBC(Java Database Connectivity)を利用してMySQLデータベースへの接続を確立します。
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.Statement;
public class JavaDeleteDemo {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {
System.out.println(e);
}
conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/business", "Manish", "123456");
System.out.println("Connection is created successfully:");
stmt = (Statement) conn.createStatement();
String query1 = "delete from DeleteTableDemo " +
"where id=101";
stmt.executeUpdate(query1);
System.out.println("Record is deleted from the table successfully..................");
} catch (SQLException excep) {
excep.printStackTrace();
} catch (Exception excep) {
excep.printStackTrace();
} finally {
try {
if (stmt != null)
stmt.close();
} catch (SQLException se) {}
try {
if (conn != null)
conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
System.out.println("Please check it in the MySQL Table. Record is now deleted.......");
}
}
このコードでは、DriverManager.getConnection()メソッドでデータベースに接続し、StatementオブジェクトのexecuteUpdate()メソッドによってDELETE文を実行しています。また、finallyブロックでStatementとConnectionを確実にクローズし、リソースリークを防いでいる点もポイントです。
なお、MySQL Connector/J 8.0以降ではドライバクラス名が「com.mysql.cj.jdbc.Driver」に変更されているため、ご利用の環境に合わせて適宜読み替えてください。
プログラムを実行すると、コンソールに接続の成功とレコード削除の完了を示すメッセージが表示されます。

削除後のテーブルを確認する
最後に、もう一度SELECT文を実行して、レコードが正しく削除されたかを確認しましょう。
mysql> select *from DeleteTableDemo;
実行結果は以下の通りです。
+------+---------+ | id | Name | +------+---------+ | 102 |Johnson | +------+---------+ 1 row in set (0.00 sec)
id=101のレコードが正常に削除され、id=102の「Johnson」のレコードだけが残っていることが確認できました。このように、JavaからJDBC経由でDELETE文を実行すれば、MySQLデータベースのデータを簡単かつ安全に削除できます。
-
JavaでMySQLデータベースに接続する方法|JDBC接続の基本を解説
MySQLデータベースへの接続URLJavaからMySQLデータベースに接続するには、JDBC(Java Database Connectivity)ドライバを使用します。まず、接続に必要な情報として、以下のようなURL・ユーザー名・パスワードを用意します。String MySQLURL = jdbc:mysql://localhost:3306/yourDatabaseName?useSSL=false; String databseUserName = yourUserName; String databasePassword = yourPassword;接続URLを構成する各要素の意味
-
JavaでMySQLに接続する方法を解説!JDBC接続の基本コード
JavaとMySQLを接続するには? JavaアプリケーションからMySQLデータベースに接続するには、JDBC(Java Database Connectivity)を使用します。JDBCは、Javaからリレーショナルデータベースへアクセスするための標準APIであり、MySQL用のJDBCドライバ(Connector/J)をクラスパスに追加しておく必要があります。 以下は、Javaのコードを使ってMySQLに接続する基本的なサンプルです。 MySQL接続のサンプルコード import java.sql.Connection; import java.sql.DriverManager; p