MySQL में UPDATE स्टेटमेंट के WHERE क्लॉज में AND ऑपरेटर का उपयोग करके एकाधिक शर्तें निर्दिष्ट करके विशिष्ट पंक्तियों को अपडेट किया जा सकता है।
सिंटैक्स
UPDATE table_name
SET column = value
WHERE condition1 AND condition2 AND ...;
उदाहरण
तालिका बनाएं और डेटा डालें:
mysql> CREATE TABLE DemoTable (
-> Id INT, Name VARCHAR(20), Age INT, CountryName VARCHAR(10)
-> );
mysql> INSERT INTO DemoTable VALUES
-> (100, 'Chris', 34, 'AUS'),
-> (101, 'Chris', 31, 'US'),
-> (102, 'David', 25, 'UK'),
-> (103, 'Carol', 28, 'AUS');
अपडेट से पहले
+------+-------+------+-------------+
| Id | Name | Age | CountryName |
+------+-------+------+-------------+
| 100 | Chris | 34 | AUS |
| 101 | Chris | 31 | US |
| 102 | David | 25 | UK |
| 103 | Carol | 28 | AUS |
+------+-------+------+-------------+
दो शर्तों के साथ अपडेट
mysql> UPDATE DemoTable
-> SET Name = 'Robert'
-> WHERE Age = 31 AND CountryName = 'US';
अपडेट के बाद
+------+--------+------+-------------+
| Id | Name | Age | CountryName |
+------+--------+------+-------------+
| 100 | Chris | 34 | AUS |
| 101 | Robert | 31 | US |
| 102 | David | 25 | UK |
| 103 | Carol | 28 | AUS |
+------+--------+------+-------------+
मुख्य बिंदु
AND- सभी शर्तें सत्य होनी चाहिएOR- कोई एक शर्त सत्य होनी चाहिएRows matched: 1 Changed: 1- पुष्टि करता है एक पंक्ति अपडेट हुई- बिना WHERE के सभी पंक्तियां अपडेट हो जाएंगी
सुरक्षा टिप
पहले SELECT चलाकर पुष्टि करें कि सही पंक्तियां चुनी जाएंगी:
SELECT * FROM DemoTable WHERE Age = 31 AND CountryName = 'US';