how to get list of Databases "Schema" names of MySql using java JDBC ?
The getSchemas()
method of the DatabaseMetaData is the obvious but with MySQL you have to use getCatalogs()
http://download.oracle.com/javase/7/docs/api/java/sql/DatabaseMetaData.html#getSchemas() http://download.oracle.com/javase/7/docs/api/java/sql/DatabaseMetaData.html#getCatalogs()
Example:
Class.forName("com.mysql.jdbc.Driver");
// change user and password as you need it
Connection con = DriverManager.getConnection (connectionURL, "user", "password");
ResultSet rs = con.getMetaData().getCatalogs();
while (rs.next()) {
System.out.println("TABLE_CAT = " + rs.getString("TABLE_CAT") );
}
DatabaseMetaData meta = conn.getMetaData();
ResultSet schemas = meta.getSchemas();
while (schemas.next()) {
String tableSchema = schemas.getString(1); // "TABLE_SCHEM"
String tableCatalog = schemas.getString(2); //"TABLE_CATALOG"
System.out.println("tableSchema "+tableSchema);
}
SHOW DATABASES
to see if
it is inside,USE DATABASE;
and catch
the error.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With