JDBC का उपयोग करके MySQL से रिकॉर्ड डिलीट करें
Java से MySQL में डेटा डिलीट करने के लिए, आप JDBC के साथ SQL DELETE कथन का उपयोग करते हैं।
SQL सिंटैक्स
DELETE FROM टेबल_नाम WHERE शर्त;
पूर्ण Java उदाहरण
1. डेटाबेस तैयारी
mysql> CREATE TABLE DeleteTableDemo (
-> id INT,
-> Name VARCHAR(200)
-> );
mysql> INSERT INTO DeleteTableDemo VALUES(101, 'Smith'), (102, 'Johnson');
2. Java कोड (JDBC)
import java.sql.*;
public class JavaDeleteDemo {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/business", "username", "password");
System.out.println("कनेक्शन सफलतापूर्वक बनाया गया");
stmt = conn.createStatement();
// id=101 वाले रिकॉर्ड को डिलीट करें
String query = "DELETE FROM DeleteTableDemo WHERE id = 101";
int rowsAffected = stmt.executeUpdate(query);
System.out.println(rowsAffected + " रिकॉर्ड डिलीट हुए");
} catch (SQLException | ClassNotFoundException e) {
e.printStackTrace();
} finally {
try { if (stmt != null) stmt.close(); } catch (SQLException ignored) {}
try { if (conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); }
}
}
}
3. परिणाम सत्यापित करें
mysql> SELECT * FROM DeleteTableDemo;
आउटपुट:
+------+---------+ | id | Name | +------+---------+ | 102 | Johnson | +------+---------+
महत्वपूर्ण सुरक्षा नोट्स
- हमेशा WHERE क्लॉज का उपयोग करें - इसके बिना, टेबल की सभी पंक्तियां डिलीट हो जाएंगी।
- PreparedStatement का उपयोग करें पैरामीटराइज़्ड क्वेरी के लिए:
String sql = "DELETE FROM DeleteTableDemo WHERE id = ?";
try (PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setInt(1, 101);
int deleted = pstmt.executeUpdate();
System.out.println(deleted + " पंक्तियाँ डिलीट हुईं");
}
सर्वोत्तम अभ्यास
- डिलीट करने से पहले
SELECTके साथ सत्यापित करें। - बड़े डिलीट के लिए ट्रांजैक्शन का उपयोग करें (असफल होने पर रोलबैक के लिए)।
- उत्पादन में सॉफ्ट डिलीट (deleted_at टाइमस्टैम्प कॉलम) पर विचार करें।
- विदेशी कुंजी कंस्ट्रेंट (ON DELETE CASCADE/RESTRICT) से अवगत रहें।