# SQL Befehl für allgemeine Datenbankexistenz



## GianaSisters (26. Sep 2011)

Hallo Zusammen,

da hier auch von Datenbankabfragen geschrieben ist versuche ich meine Frage einfach mal hier zu stellen. Es geht um einen SQL Befehl der gucken soll, ob die Datenbank exisitert.
Bisher hab ich das gemacht indem ich einfach nach "SELECT * FROM messung;" gesucht habe. Wenn ich jetzt falsche Daten eingebe kommt eine Exception die ich abgefangen habe. Allerdings käme auch ein Fehler wenn die Zugangsdaten richtig sind aber nur halt die Tabelle noch nicht existiert. Gibt es nicht einen SQL Befehl der allgemein checkt ob (auch eine leere) Datenbank mit den passenden Zugangsdaten möglich ist benutzt zu werden ?
Vielen Dank im Vorraus, Giana


----------



## turtle (26. Sep 2011)

Welche Datenbank (MySQL, Oracle, ...)?

Meines Wissens gibt es keinen standardisierten Befehl, um zu testen, ob eine DB existiert. Meistens werden Metadaten/System-Kataloge abgefragt, diese sind aber DB-spezifisch.


----------



## vladimir75 (26. Sep 2011)

Such dir was passendes daraus und bastle weiter.

MySQL:

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

SHOW DATABASES 

CREATE DATABASE IF NOT EXISTS DBName;

SELECT IF (EXISTS (SELECT FROM SCHEMA_NAME INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'Temp'), 'Ja', 'No') 



Vladimir


----------



## tfa (26. Sep 2011)

Um nur die Verbindung zu prüfen, könnte man auch [c]select 1[/c] verwenden. Aber das ist nicht DB-unabhängig.


----------



## GianaSisters (26. Sep 2011)

Es ist eine mysql Datenbank... 'SELECT 1' macht genau das gewünschte. Egal was für Daten die Datenbank hat es erfolgt eine richtige Ausgabe. Vielen dank für die Antworten !


----------

