下面是数据删除片段的代码
Connection conn = null;
Statement stmt = null;
PreparedStatement ps=null;
try{
// 注册 JDBC 驱动
Class.forName(JDBC_DRIVER);
// 打开链接
//连接数据库
conn = DriverManager.getConnection(DB_URL,USER,PASS);
// 执行查询
//实例化Statement对象
stmt = conn.createStatement();
String sql;
sql="DELETE FROM login WHERE id=?";//向login表里删除数据
//注:几个问号几个ps.setString,上面的语句中只有一个?,所以下面只有一个ps.setString
ps=conn.prepareStatement(sql);//删除数据预处理
ps.setString(1, "5433");//第1个问号的值"5433"
ps.executeUpdate();//执行删除数据
// 完成后关闭
ps.close();
stmt.close();
conn.close();
}catch(SQLException se){
// 处理 JDBC 错误
se.printStackTrace();
}catch(Exception e){
// 处理 Class.forName 错误
e.printStackTrace();
}finally{
// 关闭资源
try{
if(stmt!=null) stmt.close();
}catch(SQLException se2){
}// 什么都不做
try{
if(conn!=null) conn.close();
}catch(SQLException se){
se.printStackTrace();
}
}
System.out.println("数据删除成功");
下面是删除数据的完整代码
(为了体现出删除数据的效果,在删除数据前后添加了查询数据的代码)
import java.sql.*;
public class example1 {
//MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL
//数据库:message Host Address:localhost 端口:3306
//请根据实际数据库的信息进行修改
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/message";
// 数据库的用户名与密码
//用户名:root 密码:123456
//请根据实际数据库的信息进行修改
static final String USER = "root";
static final String PASS = "123456";
public static void main(String[] args) {
// TODO Auto-generated method stub
Connection conn = null;
Statement stmt = null;
PreparedStatement ps=null;
try{
Class.forName(JDBC_DRIVER);
conn = DriverManager.getConnection(DB_URL,USER,PASS);
stmt = conn.createStatement();
String sql;
sql = "SELECT * FROM login";//搜索login表
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
int id = rs.getInt("id");//得到“id”列的值
String password = rs.getString("password");//得到“password”列的值
System.out.print("ID: " + id);
System.out.print(", 密码: " + password);
System.out.print("\n");
}
rs.close();
stmt.close();
conn.close();
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(stmt!=null) stmt.close();
}catch(SQLException se2){
}
try{
if(conn!=null) conn.close();
}catch(SQLException se){
se.printStackTrace();
}
}
System.out.print("搜索完毕\n");
//开始删除数据
try{
// 注册 JDBC 驱动
Class.forName(JDBC_DRIVER);
// 打开链接
//连接数据库
conn = DriverManager.getConnection(DB_URL,USER,PASS);
// 执行查询
//实例化Statement对象
stmt = conn.createStatement();
String sql;
sql="DELETE FROM login WHERE id=?";//向login表里删除数据
//注:几个问号几个ps.setString,上面的语句中只有一个?,所以下面只有一个ps.setString
ps=conn.prepareStatement(sql);//删除数据预处理
ps.setString(1, "5433");//第1个问号的值"5433"
ps.executeUpdate();//执行删除数据
// 完成后关闭
ps.close();
stmt.close();
conn.close();
}catch(SQLException se){
// 处理 JDBC 错误
se.printStackTrace();
}catch(Exception e){
// 处理 Class.forName 错误
e.printStackTrace();
}finally{
// 关闭资源
try{
if(stmt!=null) stmt.close();
}catch(SQLException se2){
}// 什么都不做
try{
if(conn!=null) conn.close();
}catch(SQLException se){
se.printStackTrace();
}
}
System.out.println("数据删除成功");
//删除数据结束
try{
Class.forName(JDBC_DRIVER);
conn = DriverManager.getConnection(DB_URL,USER,PASS);
stmt = conn.createStatement();
String sql;
sql = "SELECT * FROM login";//搜索login表
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
int id = rs.getInt("id");//得到“id”列的值
String password = rs.getString("password");//得到“password”列的值
System.out.print("ID: " + id);
System.out.print(", 密码: " + password);
System.out.print("\n");
}
rs.close();
stmt.close();
conn.close();
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(stmt!=null) stmt.close();
}catch(SQLException se2){
}
try{
if(conn!=null) conn.close();
}catch(SQLException se){
se.printStackTrace();
}
}
System.out.print("搜索完毕\n");
}
}
运行后的效果截图:
(向数据库中删除了数据 ID:5433 密码:214544)
通过java往mysql中删除数据的操作就完成了
如有错误
欢迎指出