八月 9, 2023
摘要:在本教程中,您将学习如何使用 JDBC 从 PostgreSQL 数据库的表中删除数据。
目录
介绍
要从 Java 程序中删除数据,请按照下列步骤操作:
- 建立数据库连接。
- 创建一个
PreparedStatement
对象。 - 执行 DELETE 语句。
- 关闭数据库连接。
查看如何连接到 PostgreSQL 数据库,以了解有关如何建立数据库连接的更多信息。
从表中删除一行
我们将使用示例数据库中的actor
表进行演示。下面的程序演示了如何删除表中的一行。
package net.rockdata.tutorial;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
/**
*
* @author rockdata.net
*/
public class Main {
private final String url = "jdbc:postgresql://localhost/dvdrental";
private final String user = "postgres";
private final String password = "postgres";
/**
* Connect to the PostgreSQL database
*
* @return a Connection object
*/
public Connection connect() throws SQLException {
return DriverManager.getConnection(url, user, password);
}
/**
* Delete actors by id
*
* @param id
* @return
*/
public int deleteActor(int id) {
String SQL = "DELETE FROM actor WHERE actor_id = ?";
int affectedrows = 0;
try (Connection conn = connect();
PreparedStatement pstmt = conn.prepareStatement(SQL)) {
pstmt.setInt(1, id);
affectedrows = pstmt.executeUpdate();
} catch (SQLException ex) {
System.out.println(ex.getMessage());
}
return affectedrows;
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Main main = new Main();
main.deleteActor(214);
}
}
怎么运行的。
connect()
方法建立与 dvdrental 示例数据库的数据库连接。它返回一个Connection
对象。
在deleteActor()
方法中:
- 首先,准备一条
DELETE
语句,从actor
表中删除由其 id 指定的行。我们使用问号 (?) 作为占位符。 - 接下来,建立数据库连接并在 try-with-resources 语句中创建一个
PreparedStatement
对象。 - 然后,通过调用
setInt()
方法提供 id 值来代替问号占位符 (?) 。 - 之后,通过调用
executeUpdate()
方法来执行UPDATE
语句。 - 最后,返回受影响的行数。
在主方法中,我们调用deleteActor()
删除 id 为 214 的演员。
在运行程序之前,我们先检查一下actor表,以验证 id 为 214 的演员是否存在。
SELECT
actor_id,
first_name,
last_name
FROM
actor
WHERE
actor_id = 214;
现在,我们运行删除程序。
如果我们再次检查actor
表,id 为 214 的行已不存在。这意味着我们已经成功删除了actor
表中 id 为 214 的演员。
在本教程中,我们逐步向您展示了如何使用 JDBC 从表中删除数据。