【Java】案例:检测MySQL是否存在某数据库,没有则创建

1.代码

package hello;
import java.sql.*;

public class CeShi {
	//定义基本数据
	static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
    static final String DB_URL = "jdbc:mysql://localhost/";

    static final String USER = "your_username";
    static final String PASS = "your_password";

    //主函数
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;

        try {
            Class.forName(JDBC_DRIVER);
            System.out.println("连接到数据库...");
            conn = DriverManager.getConnection(DB_URL, USER, PASS);

            // 检查是否存在名为 'Bank' 的数据库
            createDatabase(conn, "bank");

            // 切换到 'Bank' 数据库
            conn.setCatalog("Bank");

        } catch (SQLException se) {
            se.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (stmt != null) stmt.close();
            } catch (SQLException se2) {
            }
            try {
                if (conn != null) conn.close();
            } catch (SQLException se) {
                se.printStackTrace();
            }
        }
    }

    //检查bank数据库是否存在
    private static boolean databaseExists(Connection conn, String dbName) throws SQLException {
        ResultSet resultSet = conn.getMetaData().getCatalogs();
        while (resultSet.next()) {
            if (dbName.equals(resultSet.getString(1))) {
                return true;
            }
        }
        return false;
    }

    //创建数据库
    private static void createDatabase(Connection conn, String dbName) throws SQLException {
        // 检查数据库是否已经存在
        if (!databaseExists(conn, dbName)) {
            Statement stmt = conn.createStatement();
            String sql = "CREATE DATABASE " + dbName;
            stmt.executeUpdate(sql);
            System.out.println("成功创建数据库");
            stmt.close();
        } else {
            System.out.println("数据库已经存在,无需创建");
        }
    }
}

2.描述

这段Java代码实现了一个简单的数据库连接和创建数据库的功能。以下是对代码的主要部分进行的描述:

1.导入Java的SQL相关库:

package hello;
import java.sql.*;

2.定义数据库连接信息:

static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/";
static final String USER = "your_username";
static final String PASS = "your_password";

3.主函数 main 中:

  • 注册JDBC驱动,并建立与数据库的连接。
  • 调用 createDatabase 方法,检查是否存在名为 'Bank' 的数据库,如果不存在,则创建之。
  • 最后通过 setCatalog 方法切换到 'Bank' 数据库。

4.databaseExists 方法用于检查指定的数据库是否已经存在。

5.createDatabase 方法用于创建数据库,首先通过调用 databaseExists 方法检查数据库是否已经存在,如果不存在则执行SQL语句创建。

你可能感兴趣的:(数据库,java,mysql)