如何使用 JDBC API 删除数据库?

jdbcjava 8object oriented programmingprogramming

答:您可以使用 DROP DATABASE 查询删除数据库。

语法

DROP DATABASE DatabaseName;

要使用 JDBC API 删除数据库,您需要:

  • 注册驱动程序:使用 DriverManager 类的 registerDriver() 方法注册驱动程序类。将驱动程序类名称作为参数传递给它。

  • 建立连接:使用 DriverManager 类的 getConnection() 方法连接数据库。将 URL(字符串)、用户名(字符串)、密码(字符串)作为参数传递给它。

  • 创建 Statement:使用 Connection 接口的 createStatement() 方法创建 Statement 对象。

  • 执行查询:使用 Statement 接口的 execute() 方法执行查询。

示例

show databases 命令为您提供 MySQL 中的数据库列表。首先,使用此命令验证其中的数据库列表:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| base               |
| details            |
| exampledatabase    |
| logging            |
| mydatabase         |
| mydb               |
| mysql              |
| performance_schema |
| students           |
| sys                |
| world              |
+--------------------+
12 rows in set (0.00 sec)

以下 JDBC 程序与 MySQL 建立连接并删除名为 mydatabase 的数据库:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class DropDatabaseExample {
   public static void main(String args[]) throws SQLException {
      //注册驱动程序
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      //获取连接
      String mysqlUrl = "jdbc:mysql://localhost/";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("Connection established......");
      //创建语句
      Statement stmt = con.createStatement();
      //删除数据库的查询
      String query = "DROP database MyDatabase";
      //执行查询
      stmt.execute(query);
      System.out.println("Database dropped......");
   }
}

输出

Connection established......
Database Dropped......

如果您再次验证数据库列表,您将无法在其中找到名称 mydatabase,因为我们已将其删除。

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| base               |
| details            |
| exampledatabase    |
| logging            |
| mydb               |
| mysql              |
| performance_schema |
| students           |
| sys                |
| world              |
+--------------------+
11 rows in set (0.00 sec)

相关文章