当前位置: 首页 > 面试题库 >

如何使用Java检查mysql中的特定数据库是否已经存在

蔚楷
2023-03-14
问题内容

我是JDBC的新手,我想找出是否有一种方法可以检查MySQL中是否已经存在特定的数据库。

假设我想创建一个名为students的数据库,如果已经在MySQL中创建了students数据库,则eclipse中的错误消息将指出该students数据库已经存在。但是,我想做的是创建一个布尔html" target="_blank">方法来检查学生数据库是否已经存在。如果存在,则布尔方法将返回false,否则返回true,那么我可以创建学生数据库。如何在Java中执行这些操作?JDBC中是否有任何方法可以做到这一点,或者我需要从头开始对其进行编码?

编辑2

我遵循了mguymons的建议,这就是我的想法

public boolean checkDBExists(String dbName){

    try {
        Class.forName(JDBCDriver); //Register JDBC Driver

        System.out.println("Creating a connection...");
        conn = DriverManager.getConnection(DBURL, USER, PASS); //Open a connection

        ResultSet resultSet = conn.getMetaData().getCatalogs();

        while (resultSet.next()) {

          String databaseName = resultSet.getString(1);
            if(databaseName.equals(dbName)){
                return true;
            }
        }
        resultSet.close();

    }
    catch(Exception e){
        e.printStackTrace();
    }

    return false;
}

问题答案:

您可以使用DatabaseMetaData#getCatalogs从
JDBC连接
获取该信息,这是获取目录(又名数据库名称)的示例

// Connection connection = <your java.sql.Connection>
ResultSet resultSet = connection.getMetaData().getCatalogs();

//iterate each catalog in the ResultSet
while (resultSet.next()) {
  // Get the database name, which is at position 1
  String databaseName = resultSet.getString(1);
}
resultSet.close();


 类似资料:
  • 问题内容: 建立连接后是否可以检查(MySQL)数据库是否存在。 我知道如何检查数据库中是否存在表,但是我需要检查数据库是否存在。如果没有,我必须调用另一段代码来创建它并填充它。 我知道所有这些听起来都不太优雅-这是一个快速又肮脏的应用程序。 问题答案: 如果您只想知道数据库是否存在,以免在尝试创建数据库时出错,只需使用(From here):

  • 问题内容: 无法让Firebase识别已经输入的用户名。下面的代码显示我正在尝试将输入的用户名与数据库的DataSnapshot进行比较。该代码似乎没有拾取输入的用户名。代码是否错误? 在按钮上单击,我希望能够将用户引导到该错误,并且在该错误唯一之前,不应将该页面推送到下一个活动。 JSON树(如果有帮助) 问题答案: 是异步操作。设置回调后,代码将继续运行,而您尚未获取任何用户名。到您检查mSw

  • 问题内容: 我正在使用以下对我不起作用的代码。 无法在 C:\ xampp \ htdocs \ Exp \ welcome.php 中将mysqli_result类的对象转换为int 问题答案: 该代码对您来说很好…

  • 问题内容: 我想知道如何检查数据库中的特定表(例如:myTable)中是否存在特定列(例如:日期)。 我已经阅读了此答案,该答案提供了一个查询,该查询导致另一个查询。 但是我需要的是结果。 更新1 如何在C#应用程序中做到这一点? 也许使用或其他? 问题答案: 感谢所有提供解决方案并收集了一些答案的人,我提出了自己的解决方案版本。也许这不是最好的解决方案,但是至少我不需要额外的dll来添加引用或处

  • 问题内容: 我已经在互联网上搜索了几天,但找不到仅使用ODBC和SQL来解决此问题的通用方法。 有没有办法查看数据库是否已经存在,只能使用 ODBC 。它必须是标准SQL,因为用户可以选择自己选择的DSN(意味着他自己的SQL Server)。 这意味着我无法检查服务器上的主表,因为在不同的SQL服务器上它们的名称不同。 谢谢。 问题答案: 不知道这是否为时已晚,或者对于您来说足够“便携”。 我只

  • 我想检查一下总线号码是否已经存在于Firebase的数据库中。 这是我的示例代码。我一直在搜索过去的日子,但我不能找到正确的代码这样做。 有人能帮我处理这件事吗?提前道谢。不管if语句是否正确,我的问题还在于为什么...不起作用?我试图测试一些吐司消息,但消息不会弹出。