PostgreSQL JDBC 执行 delete 删除表记录

JDBC 连接 PostgreSQL 数据库,执行 delete 语句,删除表记录。表名称为 student,删除该表中 name 为 'Tom' 的记录。由于使用了 PreparedStatement 对象,SQL 语句中的 name 的值使用 ? 占位符表示,通过绑参方式确定具体值。

调用 st.executeUpdate() 执行删除语句,实际上 insert、update 和 delete 语句都可以使用该方法执行,该方法返回删除的记录数量。

完整的示例代码如下:

import java.sql.*;

public class Main{
    public static void main(String[] args)
    {
        String url = "jdbc:postgresql://127.0.0.1:36099/postgres";
        String username = "admin";
        String password = "123456";
        try {
                Connection conn = DriverManager.getConnection(url, username, password);
                PreparedStatement st = conn.prepareStatement("delete from student where name=?");
                st.setString(1, "Tom");
                int rowsDeleted = st.executeUpdate();
                System.out.println(rowsDeleted + " rows deleted");
                st.close();
                conn.close();
        }catch (SQLException e) {
                e.printStackTrace();
        }
    }
}

执行前 student 表数据如下:

postgres=# select * from student;
 id | name | age
----+------+-----
  2 | Jim  |  19
  1 | Tom  |  16
(2 rows)

执行删除程序,如下:

[zhang@localhost java]$ javac -Djava.ext.dirs=jdbc Main.java
[zhang@localhost java]$ java -Djava.ext.dirs=jdbc Main
1 rows deleted

执行后 student 表数据如下:

postgres=# select * from student;
 id | name | age
----+------+-----
  2 | Jim  |  19
(1 row)

文章评论

0条评论