我如何使用java检查sql server中的数据库名称是不是已经存在? [复制]

Posted

技术标签:

【中文标题】我如何使用java检查sql server中的数据库名称是不是已经存在? [复制]【英文标题】:How can i check the data base name already exists or not in sql server using java? [duplicate]我如何使用java检查sql server中的数据库名称是否已经存在? [复制] 【发布时间】:2013-05-07 12:06:24 【问题描述】:

我想检查数据库名称是否已经存在于 sql server 2008 中。 如果这不是意味着我需要创建数据库。 我该如何检查?

【问题讨论】:

例如我想检查数据库example是否已经存在。如果不是意味着我需要创建example 数据库。 【参考方案1】:
Connection connection = DriverManager.getConnection();
ResultSet resultSet = connection.getMetaData().getCatalogs();

while (resultSet.next()) 
    // Get the database name
    String databaseName = resultSet.getString(1);

resultSet.close();

【讨论】:

【参考方案2】:

你可以检查它是否不存在:

IF  NOT EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'YourDBName')
CREATE DATABASE [YourDBName]

或者你可以检查它是否存在然后删除它:

IF  EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'YourDBName')
DROP DATABASE [YourDBName]

【讨论】:

【参考方案3】:

您可以使用show databases; SQL 查询。

【讨论】:

【参考方案4】:

如果您在启动查询中执行此操作,请使用create if not exists SQL 语句组合这两个操作(有关确切语法,请参阅您的 DBMS 实际文档)。

【讨论】:

【参考方案5】:

可以在sql server查询窗口中使用sp_databases命令

【讨论】:

【参考方案6】:

这可能对你有帮助 -

CREATE FUNCTION dbo.is_db_exists
(
    @db_name NVARCHAR(100)
)
RETURNS INT
AS BEGIN

    IF EXISTS (
        SELECT 1 
        FROM sys.databases 
        WHERE name = @db_name
    ) RETURN 1

    RETURN 0

END

或者这个查询-

IF DB_ID('<db_name>') IS NOT NULL
   PRINT 'DB is exists'

【讨论】:

以上是关于我如何使用java检查sql server中的数据库名称是不是已经存在? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何将文本文件中的数据从Java插入SQL Server?

如何在sql server中检查所有存储过程是否正常?

SQL Server:检查列的数据类型

Java Spring 将 Excel 导入 SQL Server

如何检查 SQL Server 数据库的恢复状态进度

如何检查 SQL Server CE 数据库的索引?