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://127.0.0.1/";
   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://127.0.0.1/";
   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
广告