MySQL检查数据库是否存在

时间:2010-09-08 22:37:27

标签: mysql vbscript

我正在尝试确定某个名称的数据库是否存在,如果不存在则创建它。理想情况下,这将在VBScript中。我目前正在尝试使用数组的循环搜索,但数据库的总数将发生很大变化。

set dbQuery = ConnSQL.execute(checkDBsql) 
            if dbQuery.BOF and dbQuery.EOF then ' Query didn't return any records.
                ConnSQL.execute(MakeDb)
            else
                dbQuery.MoveFirst
                i = 0
                Do While Not dbQuery.EOF
                    i = i + 1
                loop
            end if
    set dbQuery = ConnSQL.execute(checkDBsql)
            if dbQuery.BOF and dbQuery.EOF then ' Query didn't return any records.
                msgBox "ERROR!"
            else
                e = 0
                do while not dbQuery.EOF
                    DBName(e) = dbQuery("Database")
                    e = e + 1
                loop                
                For a = 1 to UBound(DBName)
                    If DBName(a) = OldDBName Then
                        MsgBox DBName(a)
                    end if
                Next
    connSQL.close

3 个答案:

答案 0 :(得分:4)

尝试:

SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'DBName'

如果不存在,您将得到一个空的结果集。

如果您需要知道数据库是否存在以避免在尝试创建它时出错:

CREATE DATABASE IF NOT EXISTS <name>;

答案 1 :(得分:0)

如果可以在mysql命令行客户端

中连接到服务器
show databases

将显示mysql中的数据库。

答案 2 :(得分:0)

最快的方法是发布:

show databases;