JavaでMySQLのテーブルを削除(DROP TABLE)する方法をわかりやすく解説
この記事では、JavaからJDBCを使ってMySQLのテーブルを削除(DROP)する方法を、実際のコード例とともに順を追って解説します。テーブルの作成から、削除処理の実行、そして削除後の確認まで、一連の流れを確認していきましょう。
1. 事前準備:データベースにテーブルを作成する
まず、削除対象となるテーブルを用意します。以下のSQLを実行して、customerDetailsというテーブルを作成します。
mysql> create table customerDetails
-> (
-> CustomerId int,
-> CustomerName varchar(30)
-> );
Query OK, 0 rows affected (0.56 sec)2. 作成したテーブルが存在することを確認する
次に、データベース内のすべてのテーブルを表示し、customerDetailsテーブルが正しく作成されているかを確認します。
mysql> show tables;
実行結果は以下の通りです。
+------------------------------+ | Tables_in_test3 | +------------------------------+ | bestdateformatdemo | | customerdetails | | deletedemo | | differentdatetime | | expandedoutputdemo | | fieldlessthan5chars | | lastrecordbeforelastone | | mostrecentdatedemo | | nullcasedemo | | order | | orderbydatethentimedemo | | posts | | productdemo | | radiansdemo | | selecttextafterlastslashdemo | | siglequotesdemo | | studentinformation | | updatestringdemo | +------------------------------+ 18 rows in set (0.00 sec)
出力結果を見ると、customerdetailsテーブルが存在していることがわかります。ここではtest3というデータベースを使用しています。
3. Javaプログラムでテーブルを削除する
それでは、Javaのコードを使ってテーブルを削除してみましょう。ポイントは、DROP TABLE IF EXISTS構文を使用することです。IF EXISTSを付けることで、テーブルが存在しない場合でもエラーが発生せず、安全に削除処理を実行できます。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class DropTableDemo {
public static void main(String[] args) {
Connection con = null;
PreparedStatement ps = null;
try {
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test3?useSSL=false", "root", "123456");
ps = con.prepareStatement(
String.format("DROP TABLE IF EXISTS %s", "customerdetails"));
boolean result = ps.execute();
} catch (Exception e) {
e.printStackTrace();
}
}
}コードのポイント
- DriverManager.getConnection():JDBCドライバー経由でMySQLデータベース「test3」に接続します。URLにはユーザー名とパスワードも指定します。
- prepareStatement():削除用のSQL文「DROP TABLE IF EXISTS customerdetails」を準備します。
- execute():SQL文を実行し、テーブルを削除します。
4. 削除後の状態を確認する
上記のJavaプログラムを実行したら、再度テーブル一覧を表示して、customerDetailsテーブルが本当に削除されたかを確認します。
mysql> show tables;
実行結果は以下の通りです。
+------------------------------+ | Tables_in_test3 | +------------------------------+ | bestdateformatdemo | | deletedemo | | differentdatetime | | expandedoutputdemo | | fieldlessthan5chars | | lastrecordbeforelastone | | mostrecentdatedemo | | nullcasedemo | | order | | orderbydatethentimedemo | | posts | | productdemo | | radiansdemo | | selecttextafterlastslashdemo | | siglequotesdemo | | studentinformation | | updatestringdemo | +------------------------------+ 17 rows in set (0.00 sec)
先ほど18個あったテーブルが17個に減り、リストからcustomerdetailsが消えています。これにより、test3データベースからcustomerDetailsテーブルが正常に削除されたことが確認できました。
まとめ
JavaからMySQLのテーブルを削除する手順は以下の通りです。
- JDBCでデータベースに接続する
DROP TABLE IF EXISTS構文でPreparedStatementを作成するexecute()メソッドでSQLを実行する
IF EXISTSを活用すれば、テーブルが存在しないケースでもエラーを回避できるため、実務でも安全に利用できます。なお、DROP操作は元に戻せないため、本番環境で実行する際は十分に注意してください。
-
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
-
Javaを使用してMySQLテーブルの値を表示する方法
MySQLデータベースのテーブル値をJavaで表示するには、ResultSetの概念を利用します。データベースへの接続には、MySQL JDBCドライバーを使用します。テーブルの作成まず、サンプル用のテーブルを作成しましょう。mysql> create table demo87 -> ( -> name varchar(20), -> age int -> )