MySQL Auflistung aller Datenbanken???

THEBRAIN

Mitglied
Hallo,

Ich probiere gerade ViewTables in einen ViewDatabases um zu bauen. Leider finde ich keine passende Methode in der klasse DatabaseMetaData, vielleicht suche ich auch an der falschen stelle.
(mein Gedanke war wenn es getTables gibt dann sollte wohl getDatabases ebenso vorhanden sein...)


Java:
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

public class ViewTables {
  public static void main(String[] args) throws Exception {
    Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
    System.out.println("Liste der Tabellen:");
    Connection c = DriverManager.getConnection ("jdbc:mysql://localhost/webbrett","root", "");
    DatabaseMetaData md = c.getMetaData();
    ResultSet rs = md.getTables(null, null, "%", null);
    while (rs.next()) {System.out.println(rs.getString(3));}
  }
}
 
Naja ich würde statt der Metadaten diese Querys nutzen.

Dann weißt du alles über die Datenbanken => Tabellen bis hin zum Feld.

Und bist dann nicht von einer speziellen Implementierung des JDBC Treibers abhängig.
 
Naja ich würde statt der Metadaten diese Querys nutzen.

Dann weißt du alles über die Datenbanken => Tabellen bis hin zum Feld.

Und bist dann nicht von einer speziellen Implementierung des JDBC Treibers abhängig.

du meinst ich solle alle befehle in SQL code schreiben und dann als query einbinden?
So macht man das auch in PHP, wenn ich dich richtig verstehe.

Hast du evtl ein link zu diesen Querys damit ich genau weiß ob du das meinst.
 
^^ ok, das ist für mich Neuland. Dort muss ich mich erst mal rein lesen.

Wollte an für sich nur ein paar einfache Basics in Java umsetzten und nicht gleich Profi werden 😉
Hast du Beispiele für die Anwendung von den INFORMATION_SCHEMA?
 
Also ich jetzt nicht unbedingt, allerdings google bzw. sogar der zweite Link den ich gerade gepostet habe:

SQL:
-- Die DB heißt 'wild'

-- diese Abfrage nutzt INFORMATION_SCHEMA
SELECT SCHEMA_NAME AS `Database`
  FROM INFORMATION_SCHEMA.SCHEMATA
  [WHERE SCHEMA_NAME LIKE 'wild']

-- diese Abfrage nutzt das herkömmliche SHOW
SHOW DATABASES
  [LIKE 'wild']

Beide Arten abzufragen, liefern ansich das selbe Ergebnis.

Sorry, wusste jetzt natürlich nicht wie firm Du in Sachen DB (bzw. SQL). Ist alles aber halb so wild, wenn Du mal ein wenig Zeit investierst 🙂

Viel Erfolg!

frapo
 
Das sind keine einfachen Basics.

Du verwendest auch mit hoher Wahrscheinlichkeit den falschen jdbc Treiber. Für MySQL gibt einen anderen.

Gib doch einfach mal die Querys in die kosole von MySQL ein, dann siehst du ja die Erg.
 

Zurück
Oben