# Prüfen, ob eine MySQL-Tabelle bereits existiert



## Coder09 (16. Aug 2009)

Hallo,
sorry für die vielen Beiträge heute, aber das sind alles Fragen, die sich angesammelt haben.

Ich habe nun seit über 1ner Stunde im Netz gesucht, aber bin nicht fündig geworden. Wie kann ich überprüfen, ob eine Tabelle bereits existiert?

Ich hatte zuerst die Idee: Die Tabellen zählen zu lassen.
Kann ich das irgendwie mit IF Exists oder so machen?


----------



## sparrow (16. Aug 2009)

mySQL? Dann dürfte es am einfachsten sein ein SHOW TABLES an die Datenbank zu senden und das ResultSet nach der Tabelle zu durchsuchen.


----------



## Coder09 (16. Aug 2009)

Ja das klingt theoretisch ganz gut 
Die Abfrage SHOW Tables würde ich so machen, wobei stmt für das Statement steht.


```
String sql  = "SHOW TABLES";
try
{
	ResultSet rs = stmt.executeQuery(sql);
}
catch...

while (rs.next())
{
System.out.println();
}
```

was würde ich dann in println eingeben? Sorry für die vielen Fragen, aber ich habe damals immer die Erfahrung gemacht, dass man durch solche praktischen selbst ausgedachten Beispiele und Fragen am schnellsten und meisten lernt


----------



## maki (16. Aug 2009)

Eine Möglichkeit die unabhängig von der DB wäre es, [c]DatabaseMetaData[/c] zu nutzen, falls man die Infos in Java braucht.


----------



## sparrow (17. Aug 2009)

Coder09 hat gesagt.:


> was würde ich dann in println eingeben? Sorry für die vielen Fragen, aber ich habe damals immer die Erfahrung gemacht, dass man durch solche praktischen selbst ausgedachten Beispiele und Fragen am schnellsten und meisten lernt



Ähm.... bei println musst du das ausgeben was du ausgeben willst.
Willst du an dieser Stelle aber gar nicht.

Ich empfehle dir dringend dich erst mit den Grundlagen zu beschäftigen. Praktische Übungen sind gut und schön, halten dich aber im Augenblick nur auf.


----------



## eRaaaa (17. Aug 2009)

hi,

also ich würds vllt so machen: (ohne das ganze resultset durchlaufen zu müssen)


```
ResultSet rs = stmt.executeQuery("SHOW TABLES LIKE 'TABELLENNAME'");

if (rs.next())
				System.out.println("vorhanden");
			else
				System.out.println("nicht vorhanden");
```

wozu brauchstn das eig. ?


----------



## Coder09 (17. Aug 2009)

ah das ist super vielen dank. funktioniert auch bestens

ich überlege mir gerade progs die ich schreibe zum üben von java, da ich angefangen habe das zu coden. Könnte mir da schon einige dinge vorstellen, wozu man das brauchen könnte, z.b. wenn man auf dbs zugreifen und ändern möchte von z.b. online shop lösungen etc....

@sparrow: ich habe ja bereits ein buch gelesen und arbeite mich darauf nun auf. aber das buch geht nicht so tief rein  in einem anderen thread hier wurde mir eins empfohlen, vllt. nehme ich dies auch noch mal zu rate oder das open book von Christian Ullenboom. Danke auf jeden Fall.


----------



## sparrow (17. Aug 2009)

Ok.
Schreib ein Programm mit einer einfachen GUI in der man seine DVD/CD-Sammlung erfassen kann.
Als Datenbank verwendest du HSQLDB.

Da hast du dann alles: GUI, Datenbank, sinnvolle Objektorientierung.

Viel Glück


----------

