JDBC刪除表範例


在本教學將演示如何在JDBC應用程式中刪除一個資料庫表。 在執行以下範例之前,請確保您已經準備好以下操作:

  • 具有資料庫管理員許可權,以在給定模式中刪除資料庫表。 要執行以下範例,需要用實際使用者名和密碼替換這裡使用者名(username)和密碼(password)。
  • MySQL或資料庫已啟動並執行。

注意:這是一個嚴肅的操作,必須在繼續刪除表之前作出明確的決定,因為刪除表後,表中的所有內容都將丟失。

所需步驟

使用JDBC應用程式刪除資料庫中的表需要以下步驟:

  • 匯入包:需要包含包含資料庫程式設計所需的JDBC類的包。 大多數情況下,使用import java.sql.*就足夠了。

  • 註冊JDBC驅動程式:需要初始化驅動程式,以便可以程式中開啟資料庫的通訊通道。

  • 開啟連線:需要使用DriverManager.getConnection()方法來建立一個Connection物件,它表示與資料庫伺服器的物理連線。

  • 執行查詢:需要使用型別為Statement的物件來構建和提交SQL語句,以在選擇的資料庫中刪除一個表。

  • 清理環境:需要明確地關閉所有資料庫資源,而不依賴於JVM的垃圾收集。

範例程式碼

複製以下範例程式碼儲存到檔案:DropTable.java中,然後編譯並執行如下 -

//STEP 1. Import required packages
import java.sql.*;

public class DropTable {
   // JDBC driver name and database URL
   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
   static final String DB_URL = "jdbc:mysql://localhost/jdbc_db";

   //  Database credentials
   static final String USER = "root";
   static final String PASS = "123456";

   public static void main(String[] args) {
   Connection conn = null;
   Statement stmt = null;
   try{
      //STEP 2: Register JDBC driver
      Class.forName("com.mysql.jdbc.Driver");

      //STEP 3: Open a connection
      System.out.println("Connecting to a selected database...");
      conn = DriverManager.getConnection(DB_URL, USER, PASS);
      System.out.println("Connected database successfully...");

      //STEP 4: Execute a query
      System.out.println("Deleting table in given database...");
      stmt = conn.createStatement();

      String sql = "DROP TABLE student ";

      stmt.executeUpdate(sql);
      System.out.println("Table  deleted in given database...");
   }catch(SQLException se){
      //Handle errors for JDBC
      se.printStackTrace();
   }catch(Exception e){
      //Handle errors for Class.forName
      e.printStackTrace();
   }finally{
      //finally block used to close resources
      try{
         if(stmt!=null)
            conn.close();
      }catch(SQLException se){
      }// do nothing
      try{
         if(conn!=null)
            conn.close();
      }catch(SQLException se){
         se.printStackTrace();
      }//end finally try
   }//end try
   System.out.println("Goodbye!");
}//end main
}//end JDBCExample

編譯上面程式碼,如下 -

F:\worksp\jdbc> javac -Djava.ext.dirs=F:\worksp\jdbc\libs DropTable.java

執行上面程式碼,如下 -

##F:\worksp\jdbc>java -Djava.ext.dirs=F:\worksp\jdbc\libs CreateDatabase

F:\worksp\jdbc>java -Djava.ext.dirs=F:\worksp\jdbc\libs DropTable
Connecting to a selected database...
Thu Jun 01 22:39:01 CST 2017 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
Connected database successfully...
Deleting table in given database...
Table  deleted in given database...
Goodbye!

F:\worksp\jdbc>

在執行上面語句後,資料庫 jdbc_db 中的 student 表將會被成功地刪除了。