命令'use database-name'是如何使用java代码的

时间:2013-04-25 11:49:29

标签: java mysql jdbc

我想制作一个程序来存储数据库中excel文件的数据。我有很多数据库所以在我的程序中我必须选择哪一个我将存储数据。 我已经使代码能够将mysql与我的程序连接并显示可用的数据库。我现在要做的是说我将在哪个数据库中存储数据。 更具体地说,我希望用户首先在他的客户端中查看可用的数据库,然后他将有机会说出将在哪个数据库中存储数据。 谁能帮助我,我会怎么做?

查看所有可用数据库的代码如下:

Class.forName("com.mysql.jdbc.Driver");
        Connection con = (Connection) DriverManager.getConnection(
                "jdbc:mysql://localhost:3306/", "root", "root");
        DatabaseMetaData meta = (DatabaseMetaData) con.getMetaData();
        ResultSet res = meta.getCatalogs();
        System.out.println("List of the databases: ");
        while (res.next()){
            System.out.println (" " +res.getString(1));
    }

提前谢谢!

2 个答案:

答案 0 :(得分:0)

我希望this SO link可以帮到你。您可以从连接对象

获取所有数据

答案 1 :(得分:0)

首先创建一个简单的连接

Connection con = (Connection) DriverManager.getConnection( "jdbc:mysql://localhost:3306/", "root", "root");

查找示例here

了解他如何使用ResultSet Class来访问结果。

现在,

information_schema.SCHEMATA检索信息,以便您可以查询

SELECT schema_name FROM information_schema.SCHEMATA S;

获取所有模式

getting choice from user(maybe from console)之后,您可以使用Connection#setCatalog()

根据用户值设置数据库

如果您想要表格信息,请使用此查询

SELECT * FROM information_schema.TABLES T;

它将列出所有模式中的所有表