如何在Java中使用JDBC删除特定记录?

先决条件:

  1. 如何在Java中使用JDBC创建表?

  2. 如何在Java中通过JDBC插入记录?

  3. 如何在Java中使用JDBC显示所有记录?

  4. 如何在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...