如何在Java中使用JDBC删除特定记录?
先决条件:
如何在Java中使用JDBC创建表?
如何在Java中通过JDBC插入记录?
如何在Java中使用JDBC显示所有记录?
如何在Java中使用JDBC通过字段显示特定记录?
注意:要从MYSQL表中删除特定记录,您应该至少知道该记录的一个字段。
现在,我们需要创建一个Connection类的对象并连接到数据库。
然后,我们需要创建一个Statement类的对象,然后准备一个MySQL查询以显示要删除的数据。此后,我们在控制台中显示数据,并提出一个问题以从MYSQL数据库中删除以上数据。
然后,我们准备一个查询以删除数据并通过使用executeUpdate()方法来执行,该方法是Statement类的一种方法。
数据库详细信息:
主机名:本地主机
端口号:3306
用户名:root
密码:123
数据库名称:demo
表名:员工
现场:EMPID(职员)
Java程序使用JDBC删除特定记录
import java.io.DataInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class DeleteByID {
public static void main(String[] args) {
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
//serverhost=localhost,端口=3306,用户名=root,密码=123-
Connection cn=DriverManager.getConnection("jdbc:mysql://localhost:3306/demo","root","123");
Statement smt=cn.createStatement();
DataInputStream KB=new DataInputStream(System.in);
//输入要删除记录的特定员工ID-
System.out.print("Enter Employee ID:");
String eid=KB.readLine();
//查询从表employee中获取特定记录的数据
String q="Select * from employees where empid='"+eid+"'";
//执行查询
ResultSet rs=smt.executeQuery(q);
if(rs.next())
{
//显示数据
System.out.println("Employee id:"+rs.getString(1));
System.out.println("Employee Name:"+rs.getString(2));
System.out.println("Employee DOB:"+rs.getString(3));
System.out.println("Employee City:"+rs.getString(4));
System.out.println("Employee Salary:"+rs.getString(5));
System.out.println("Sure To Delete Above Record Yes/No?");
String ch=KB.readLine();
if(ch.equalsIgnoreCase("yes"))
{
//查询从表employee中删除特定记录的数据
q="delete from employees where empid='"+eid+"'";
//执行查询
smt.executeUpdate(q);
System.out.println("Record Deleted...");
}
}
else
{
System.out.println("Record Not Found...");
}
cn.close();
}
catch(Exception e){
System.out.println(e);
}
}
}输出(在控制台中)
Enter Employee ID: 100 Employee id: 100 Employee Name: Aman Employee DOB: 10/10/1990 Employee City: Delhi Employee Salary: 35000 Sure To Delete Above Record Yes/No? Yes Record Deleted...