-1

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

4

6 回答 6

2
Connection connection = DriverManager.getConnection();
ResultSet resultSet = connection.getMetaData().getCatalogs();

while (resultSet.next()) {
    // Get the database name
    String databaseName = resultSet.getString(1);
}
resultSet.close();
于 2013-05-07T12:09:41.577 回答
0

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

于 2013-05-07T12:08:01.930 回答
0

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

于 2013-05-07T12:09:07.107 回答
0

可能这对您有帮助-

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'
于 2013-05-07T12:09:57.577 回答
0

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

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]
于 2013-05-07T12:09:59.237 回答
0

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

于 2013-05-07T12:10:34.913 回答