JDBC - 刪除資料庫



本章提供使用 JDBC 應用程式和 MySQLAdmin 控制檯刪除現有資料庫的示例。在執行以下示例之前,請確保已完成以下操作:

  • 要執行以下示例,您需要將使用者名稱密碼替換為您實際的使用者名稱和密碼。

  • 您的 MySQL 正在執行。

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

所需步驟

使用 JDBC 應用程式建立新資料庫需要以下步驟:

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

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

    刪除資料庫不需要資料庫名稱出現在資料庫 URL 中。以下示例將刪除STUDENTS資料庫。

  • 執行查詢 - 需要使用 Statement 型別的物件來構建和提交刪除資料庫的 SQL 語句。

  • 清理環境 - try with resources 自動關閉資源。

示例:刪除資料庫

在這個例子中,我們有三個靜態字串包含資料庫連線 URL、使用者名稱、密碼。現在使用 DriverManager.getConnection() 方法,我們準備了一個數據庫連線。連線準備就緒後,我們使用 connection.createStatement() 方法建立了一個 Statement 物件。然後使用 statement.executeUpdate(),我們運行了刪除名為 Students 的資料庫的查詢並列印了成功訊息。

如果在建立資料庫時出現任何異常,catch 塊將處理 SQLException 並列印堆疊跟蹤。

將以下示例複製並貼上到 JDBCExample.java 中,編譯並執行如下:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCExample {
   static final String DB_URL = "jdbc:mysql:///";
   static final String USER = "guest";
   static final String PASS = "guest123";

   public static void main(String[] args) {
      // Open a connection
      try(Connection conn = DriverManager.getConnection(DB_URL, USER, PASS);
         Statement stmt = conn.createStatement();
      ) {		      
         String sql = "DROP DATABASE STUDENTS";
         stmt.executeUpdate(sql);
         System.out.println("Database dropped successfully...");   	  
      } catch (SQLException e) {
         e.printStackTrace();
      } 
   }
}

輸出

現在讓我們按如下方式編譯上面的示例:

C:\>javac JDBCExample.java
C:\>

執行JDBCExample時,它會產生以下結果:

C:\>java JDBCExample
Database dropped successfully...
C:\>

在下一個示例中,我們將刪除資料庫 TUTORIALSPOINT_COPY。在刪除之前,我們將顯示所有可用的資料庫,然後刪除後再次列印相同的列表以檢查資料庫是否已刪除。請參閱下面的 JDBC 程式碼示例

示例:刪除資料庫

在這個例子中,我們有三個靜態字串包含資料庫連線 URL、使用者名稱、密碼。現在使用 DriverManager.getConnection() 方法,我們準備了一個數據庫連線。連線準備就緒後,我們使用 connection.createStatement() 方法建立了一個 Statement 物件。

SQL 命令“SHOW DATABASES”用於顯示可用資料庫的列表。現在使用“DROP DATABASE TUTORIALSPOINT_COPY”,我們正在刪除 TUTORIALSPOINT_COPY 資料庫。然後,再次發出 SQL 查詢“SHOW DATABASES”,以顯示更新的資料庫列表。

如果在建立資料庫時出現任何異常,catch 塊將處理 SQLException 並列印堆疊跟蹤。

將以下示例複製並貼上到 JDBCExample.java 中,編譯並執行如下:

import java.sql.*;

// Drop database example
public class JDBCExample {

   static final String DB_URL = "jdbc:mysql:///";
   static final String USER = "guest";
   static final String PASS = "guest123";

   public static void main(String args[]) {

      try(Connection conn = DriverManager.getConnection(DB_URL, USER, PASS);) {		      
         System.out.println("Connected to database successfully...");

         Statement stmt = conn.createStatement();
         ResultSet rs1 = stmt.executeQuery("SHOW DATABASES");
         System.out.println("DATABASES");
         System.out.println("-------------------------------------------");
         while( rs1.next()){
            System.out.println(rs1.getString(1));
         }
         //Now DROP DATABASE
         int r = stmt.executeUpdate("DROP DATABASE TUTORIALSPOINT_COPY");

         System.out.println("TutorialsPoint_copy database successfully deleted. No. of tables removed = " + r);
         System.out.println("-------------------------------------------");
         ResultSet rs2 = stmt.executeQuery("SHOW DATABASES");
         System.out.println("DATABASES after DROP DATABASE has been called.");
         System.out.println("-------------------------------------------");
         while( rs2.next()){
            System.out.println(rs2.getString(1));
         }
      }catch(SQLException e){
         e.printStackTrace();
      }
   }
}

輸出

現在讓我們按如下方式編譯上面的示例:

C:\>javac JDBCExample.java
C:\>

執行JDBCExample時,它會產生以下結果:

C:\>java JDBCExample
Connected to database successfully...
DATABASES
-------------------------------------------
information_schema
mysql
performance_schema
sample_db1
students
sys
tutorialspoint
tutorialspoint_copy
world

TutorialsPoint_copy database successfully deleted. No. of tables removed = 4
-------------------------------------------
DATABASES after DROP DATABASE has been called.
-------------------------------------------
information_schema
mysql
performance_schema
sample_db1
students
sys
tutorialspoint
world

C:\>

另一種刪除資料庫的方法是透過 mysqladmin 控制檯。在命令提示符下,轉到 MySQL 安裝目錄的 bin 目錄。例如

C:\Program Files\MySQL\MySQL Server 8.4\bin>

在此目錄中,鍵入:以下命令

C:\Program Files\MySQL\MySQL Server 8.4\bin> mysqladmin -u root -p drop sample_db1

鍵入此命令後,系統將提示您輸入密碼。輸入使用者“root”的密碼。

Drop Database

刪除後,在 MySQL 提示符下鍵入 SHOW DATABASES。已刪除的資料庫將不會顯示。請參見下面的螢幕截圖

Drop Database
廣告