JDBC刪除數據庫實例

在本教程將演示如何在JDBC應用程序中刪除一個指定的數據庫。 在執行以下示例之前,請確保您已經準備好以下操作:

  • 具有數據庫管理員權限,以在給定模式中創建數據庫。 要執行以下示例,需要用實際用戶名和密碼替換這裏用戶名(username)和密碼(password)。
  • MySQL或數據庫已啓動並運行。

注意:這是一個嚴肅的操作,在繼續刪除數據庫之前必須要確定是否真的執行刪除操作,因爲刪除了數據庫以後,數據庫中的所有內容都將丟失,並且無法恢復。

所需步驟

使用JDBC應用程序創建新數據庫需要以下步驟:

  • 導入包:需要包含包含數據庫編程所需的JDBC類的包。 大多數情況下,使用import java.sql.*就足夠了。

  • 註冊JDBC驅動程序:需要初始化驅動程序,以便可以程序中打開數據庫的通信通道。

  • 打開連接:需要使用DriverManager.getConnection()方法來創建一個Connection對象,它表示與數據庫服務器的物理連接。要刪除一個新的數據庫,並不需要在準備數據庫URL時提供任何數據庫名稱,如下面的示例所述,將刪除一個名稱爲:jdbc_db的數據庫。

  • 執行查詢:需要使用類型爲Statement的對象來構建和提交SQL語句到數據庫。

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

示例代碼

複製以下示例代碼保存到文件:DropDatabase.java中,然後編譯並運行如下 -

//STEP 1. Import required packages

import java.sql.*;

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

   //  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 database...");
      stmt = conn.createStatement();

      String sql = "DROP DATABASE jdbc_db";
      stmt.executeUpdate(sql);
      System.out.println("Database deleted successfully...");
   }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 DropDatabase.java

執行上面代碼,如下 -

F:\worksp\jdbc>java -Djava.ext.dirs=F:\worksp\jdbc\libs DropDatabase
Connecting to a selected database...
Thu Jun 01 22:09:06 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 database...
Database deleted successfully...
Goodbye!

F:\worksp\jdbc>