簡體   English   中英

如何使用java JDBC獲取MySql的數據庫“架構”名稱列表

[英]how to get list of Databases "Schema" names of MySql using java JDBC

如何使用java JDBC獲取MySql的數據庫“架構”名稱列表?

DatabaseMetaData 的getSchemas()方法是顯而易見的,但是對於 MySQL,您必須使用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()

例子:

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") );
}
  • 要么使用SHOW DATABASES查看它是否在里面,
  • 檢查 INFORMATION_SCHEMA,
  • 或者只是USE DATABASE; 並捕獲錯誤。
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);
}
DatabaseMetaData dbmd = con.getMetaData();
ResultSet ctlgs = dbmd.getCatalogs();
while(ctlgs.next())
{
System.out.println("ctlgs  =  "+ctlgs.getString(1));
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM