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