MySQL CASE स्टेटमेंट का उपयोग करके सशर्त अपडेट
MySQL में विशिष्ट शर्तों के आधार पर रिकॉर्ड्स को अपडेट करने के लिए CASE स्टेटमेंट का उपयोग किया जाता है। यह आपको एक ही क्वेरी में कई शर्तों को संभालने की अनुमति देता है।
उदाहरण: खिलाड़ियों के स्कोर अपडेट करना
सबसे पहले एक टेबल बनाते हैं और कुछ डेटा डालते हैं:
mysql> CREATE TABLE DemoTable1481 (
-> PlayerScore INT
-> );
Query OK, 0 rows affected (0.42 sec)
mysql> INSERT INTO DemoTable1481 VALUES (454), (765), (890);
Query OK, 3 rows affected (0.14 sec)
mysql> SELECT * FROM DemoTable1481;
+-------------+
| PlayerScore |
+-------------+
| 454 |
| 765 |
| 890 |
+-------------+
3 rows in set (0.00 sec)
CASE स्टेटमेंट के साथ UPDATE क्वेरी
अब हम प्रत्येक स्कोर को विशिष्ट मानों से बदलेंगे:
mysql> UPDATE DemoTable1481
-> SET PlayerScore = CASE
-> WHEN PlayerScore = 454 THEN 1256
-> WHEN PlayerScore = 765 THEN 1865
-> WHEN PlayerScore = 890 THEN 3990
-> END;
Query OK, 3 rows affected (0.17 sec)
Rows matched: 3 Changed: 3 Warnings: 0
परिणाम सत्यापित करें
mysql> SELECT * FROM DemoTable1481; +-------------+ | PlayerScore | +-------------+ | 1256 | | 1865 | | 3990 | +-------------+ 3 rows in set (0.00 sec)
मुख्य बिंदु
- CASE स्टेटमेंट एक ही कॉलम में कई सशर्त अपडेट की अनुमति देता है
- प्रत्येक
WHENक्लॉज एक शर्त और उसका परिणाम परिभाषित करता है ENDकेस स्टेटमेंट को समाप्त करता है- यह दृष्टिकोण कई अलग-अलग UPDATE क्वेरी चलाने से अधिक कुशल है