MySQL में UPDATE स्टेटमेंट के WHERE क्लॉज में AND ऑपरेटर का उपयोग करके एकाधिक शर्तों के आधार पर पंक्तियों को अपडेट किया जा सकता है।
सिंटैक्स
UPDATE table_name
SET column = value
WHERE condition1 AND condition2;
उदाहरण
तालिका बनाएं और डेटा डालें:
mysql> CREATE TABLE DemoTable (
-> StudentId INT, StudentName VARCHAR(20), StudentMarks INT
-> );
mysql> INSERT INTO DemoTable VALUES
-> (101, 'Chris', 56), (102, 'Bob', 87), (103, 'David', 56), (101, 'Bob', 89);
डेटा
+-----------+-------------+--------------+
| StudentId | StudentName | StudentMarks |
+-----------+-------------+--------------+
| 101 | Chris | 56 |
| 102 | Bob | 87 |
| 103 | David | 56 |
| 101 | Bob | 89 |
+-----------+-------------+--------------+
क्वेरी: StudentId=101 AND Marks=56 वाले को अपडेट करें
mysql> UPDATE DemoTable
-> SET StudentName = 'Adam'
-> WHERE StudentId = 101 AND StudentMarks = 56;
परिणाम
+-----------+-------------+--------------+
| StudentId | StudentName | StudentMarks |
+-----------+-------------+--------------+
| 101 | Adam | 56 |
| 102 | Bob | 87 |
| 103 | David | 56 |
| 101 | Bob | 89 |
+-----------+-------------+--------------+
मुख्य बिंदु
- केवल वही पंक्ति अपडेट हुई जहां दोनों शर्तें पूरी होती हैं
- दूसरी पंक्ति (Id=101, Marks=89) अपरिवर्तित रही
Rows matched: 1 Changed: 1- एक पंक्ति मिली और बदली गई
सुरक्षा जांच
अपडेट से पहले हमेशा SELECT चलाएं:
SELECT * FROM DemoTable WHERE StudentId = 101 AND StudentMarks = 56;
संबंधित ऑपरेटर
| ऑपरेटर | उपयोग |
|---|---|
| AND | सभी शर्तें सत्य होनी चाहिए |
| OR | कोई एक शर्त सत्य होनी चाहिए |
| NOT | शर्त को नकारता है |
| IN | मानों की सूची में मिलान |
| BETWEEN | रेंज में मिलान |