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

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」に変更されているため、ご利用の環境に合わせて適宜読み替えてください。

プログラムを実行すると、コンソールに接続の成功とレコード削除の完了を示すメッセージが表示されます。

JavaでMySQLデータベースのデータを削除する方法|DELETE文の使い方を徹底解説

削除後のテーブルを確認する

最後に、もう一度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データベースのデータを簡単かつ安全に削除できます。

  1. 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を構成する各要素の意味

  2. 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