我必须编写一个Java程序,用汽车制造商,型号,型号年份和燃油效率等级创建一个Car表。插入几辆车。打印出平均燃油效率。使用CREATE TABLEINSERTSELECT AVG SQL命令。

这是我无法开始的作业问题。
这只能在UNIX中完成,例如在unix shell中使用mysql并在shell中编写Java代码(我可以这样做)。我还想出了如何使用mysql在shell中创建表。我有JDBC驱动程序,可以在UNIX中访问mysql。问题是,如何编写代码以连接到数据库(我有一个url,用户名和密码)。如果您可以帮助我编写代码,我将不胜感激。我正在运行的Shell具有内置的JDBC驱动程序,可以立即使用。这是我所做的,但是我不确定它是如何做到的。

String userName = "user name";
String password = "user password";
String url = "jdbc:mysql://Hostname/DatabaseName";
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
conn = DriverManager.getConnection (url, userName, password);


请通过一些代码示例帮助我逐步完成。谢谢。

最佳答案

JDBC教程很好,但是您只需要那里的5%,就很难筛选出所需的内容。一个简单的视图行应该可以帮助您入门:

    Class.forName(...);
    Connection conn = DriverManager.getConnection(...);
    Statement stat = conn.createStatement();

    stat.execute("create table test(id int primary key, name varchar(255))");
    stat.execute("insert into test values(1, 'Hello')");
    ResultSet rs;
    rs = stat.executeQuery("select * from test");
    while (rs.next()) {
        System.out.println(rs.getString("name"));
    }
    rs.close();
    stat.close();
    conn.close();


除此之外,您还需要PreparedStatement

    PreparedStatement prep;
    prep = conn.prepareStatement("insert into account(name) values(?)");
    prep.setString(1, "Joe");
    prep.execute();
    prep.close();

10-02 04:34
查看更多