355 Stimmen

Wie prüft man, ob eine mysql-Datenbank existiert?

Ist es möglich zu überprüfen, ob eine (MySQL) Datenbank existiert, nachdem eine Verbindung hergestellt wurde.

Ich weiß, wie ich prüfen kann, ob eine Tabelle in einer DB existiert, aber ich muss prüfen, ob die DB existiert. Wenn nicht, muss ich einen anderen Code aufrufen, um sie zu erstellen und zu füllen.

Ich weiß, das klingt alles etwas unelegant - dies ist eine schnelle und schmutzige Anwendung.

6voto

Alex Punkte 51
SELECT IF('database_name' IN(SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA), 1, 0) AS found;

6voto

jprism Punkte 2953
CREATE SCHEMA IF NOT EXISTS `demodb` DEFAULT CHARACTER SET utf8 ;

6voto

Theo Balkwill Punkte 41

Hier ist meine Art, dies innerhalb eines Bash-Skripts zu tun:

#!/bin/sh

DATABASE_USER=*****
DATABASE_PWD=*****
DATABASE_NAME=my_database

if mysql -u$DATABASE_USER -p$DATABASE_PWD -e "use $DATABASE_NAME";
then
echo "Database $DATABASE_NAME already exists. Exiting."
exit
else
echo Create database
mysql -u$DATABASE_USER -p$DATABASE_PWD -e "CREATE DATABASE $DATABASE_NAME"
fi

4voto

Threading Punkte 61

Mit diesem Skript können Sie Ja oder Nein Datenbank existiert, wenn es nicht existiert es nicht werfen Ausnahme.

SELECT 
    IF(EXISTS( SELECT 
                SCHEMA_NAME
            FROM
                INFORMATION_SCHEMA.SCHEMATA
            WHERE
                SCHEMA_NAME = 'DbName'),
        'Yes',
        'No')  as exist

2voto

Udi Y Punkte 230
SELECT COUNT(*) FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'DbName'

1 - vorhanden, 0 - nicht vorhanden

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X