mysql数据库是否存在_如何检查mysql数据库是否存在

如何检查mysql数据库是否存在

是否可以在建立连接后检查(MySQL)数据库是否存在。

我知道如何检查数据库中是否存在表,但我需要检查数据库是否存在。 如果不是,我必须调用另一段代码来创建它并填充它。

我知道这听起来有点不雅 - 这是一个快速而肮脏的应用程序。

Ankur asked 2019-02-14T03:32:17Z

17个解决方案

370 votes

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

如果您只需要知道数据库是否存在,那么在尝试创建数据库时就不会出现错误,只需使用(从此处):

CREATE DATABASE IF NOT EXISTS DBName;

Kirtan answered 2019-02-14T03:32:28Z

97 votes

检查数据库是否存在的简单方法是:

SHOW DATABASES LIKE 'dbname';

如果名称为“dbname”的数据库不存在,则会得到一个空集。 如果确实存在,则会得到一行。

Ruben Konig answered 2019-02-14T03:32:59Z

20 votes

如果您正在寻找PHP脚本,请参阅下文。

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');

if (!$link) {

die('Not connected : ' . mysql_error());

}

// make foo the current db

$db_selected = mysql_select_db('foo', $link);

if (!$db_selected) {

die ('Cannot use foo : ' . mysql_error());

}

TopPot answered 2019-02-14T03:33:24Z

17 votes

从像bash这样的shell

if [[ ! -z "`mysql -qfsBe "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME='db'" 2>&1`" ]];

then

echo "DATABASE ALREADY EXISTS"

else

echo "DATABASE DOES NOT EXIST"

fi

AskApache Webmaster answered 2019-02-14T03:33:48Z

9 votes

这是一个用于检查数据库是否存在的bash函数:

function does_db_exist {

local db="${1}"

local output=$(mysql -s -N -e "SELECT sc

你可能感兴趣的:(mysql数据库是否存在)