从一个表读取行并将其复制到Java中的另一个数据库表

时间:2012-11-20 19:11:28

标签: java sql database

我的Java数据库中有2个表。我想从table1加载行并将它们放在table2中。怎么可以呢?我正在使用ResultSet res = stmt.executeQuery(SQL)从表I中读取。我可以使用什么来将这些数据放到表II中。 ?

3 个答案:

答案 0 :(得分:5)

你在这里:

String sql = "insert into table1 select * from table2 [where conditions]";
Statement stmt = connection.prepareStatement(sql);
stmt.executeUpdate();

答案 1 :(得分:2)

你可以尝试这样的事情: -

 Statement st1 = con1.createStatement();
 ResultSet rs = st1.executeQuery("select * from table1");
 PreparedStatement ps = null;

 while(rs.next())
    {
        ps = con2.prepareStatement("insert into table2 values(?,?)");
        ps.setInt(rs.getInt());
        ps.setString(rs.getString());
        ps.executeUpdate();
    }

假设你的表中有两列

答案 2 :(得分:0)

您可以将PreparedStatments用于此

示例代码在这里

 int result;
    Connection connection = null; // manages connection
            PreparedStatement insert = null;

    connection = DriverManager.getConnection(DB_URL,"root","password");
                insert = connection.prepareStatement("INSERT into table2" +
                "(f1,f2,f3)" +
                "VALUES(?,?,?)" );
                        insert.setString(1, Yourvaluehere);
                insert.setInt(2, Yourvaluehere);
                insert.setDouble(3, YourValueHere);
    result = insert.executeUpdate();

// Yourvaluehere - 应该来自对象的getmethods - 这就是我所做的,如果你记住它,你可以做得更好