Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

Java로 MySQL 테이블 삭제하기 – DROP TABLE 실전 예제 가이드

1단계: MySQL에 테이블 생성하기

먼저 데이터베이스에 테이블을 하나 생성하겠습니다. 아래는 customerDetails 테이블을 만드는 CREATE TABLE 쿼리입니다.

mysql> create table customerDetails
-> (
-> CustomerId int,
-> CustomerName varchar(30)
-> );
Query OK, 0 rows affected (0.56 sec)

테이블이 정상적으로 생성되었습니다. 이제 데이터베이스의 전체 테이블 목록을 조회하여 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 테이블이 목록에 포함되어 있는 것을 확인할 수 있습니다.

2단계: Java 코드로 테이블 삭제(DROP)하기

이제 JDBC를 사용하여 MySQL 테이블을 삭제하는 Java 코드를 살펴보겠습니다. 여기서 사용하는 데이터베이스 이름은 test3입니다.

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 URL, 사용자 계정, 비밀번호를 이용해 MySQL 데이터베이스(test3)와 연결을 설정합니다.
  • DROP TABLE IF EXISTS: 해당 테이블이 존재할 경우에만 삭제하고, 존재하지 않아도 오류가 발생하지 않도록 하는 안전한 문법입니다.
  • PreparedStatement.execute(): SQL 문을 실행하며, 결과가 ResultSet이면 true, 갱신 카운트 또는 결과가 없으면 false를 반환합니다.

참고: 실무 환경에서는 try-with-resources 구문을 사용해 Connection과 PreparedStatement를 자동으로 닫아주는 것이 좋으며, 비밀번호는 소스 코드에 직접 하드코딩하지 않고 환경 변수나 설정 파일로 관리하는 것이 안전합니다. 또한 프로젝트에는 반드시 MySQL Connector/J(JDBC 드라이버) 의존성이 추가되어 있어야 합니다.

3단계: 테이블 삭제 결과 확인하기

Java 프로그램을 실행한 후, test3 데이터베이스에서 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가 사라진 것을 볼 수 있습니다. 즉, Java의 JDBC를 통해 test3 데이터베이스에서 해당 테이블이 성공적으로 삭제된 것입니다.