我如何使用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中的数据库名称是不是已经存在? [复制]的主要内容,如果未能解决你的问题,请参考以下文章