Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में शर्तों के आधार पर पंक्तियों को कैसे बदलें?

MySQL में विशिष्ट शर्तों के आधार पर पंक्तियों के मान अपडेट करने के लिए CASE स्टेटमेंट का उपयोग किया जाता है। यह एक ही UPDATE क्वेरी में कई शर्तों को संभालने का कुशल तरीका है।

सिंटैक्स

UPDATE table_name
SET column_name = CASE
    WHEN condition1 THEN value1
    WHEN condition2 THEN value2
    ...
    ELSE default_value
END;

व्यावहारिक उदाहरण

आइए एक डेमो टेबल बनाते हैं जिसमें खिलाड़ियों के स्कोर हैं:

mysql> CREATE TABLE DemoTable1481 (
    -> PlayerScore INT
    -> );
Query OK, 0 rows affected (0.42 sec)

mysql> INSERT INTO DemoTable1481 VALUES(454), (765), (890);

अपडेट से पहले डेटा

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)

मुख्य बिंदु

  • एकल क्वेरी: कई शर्तों को एक ही UPDATE में संभालता है
  • प्रदर्शन: अलग-अलग UPDATE क्वेरी चलाने से तेज़
  • ELSE क्लॉज: वैकल्पिक है; यदि कोई शर्त मेल नहीं खाती तो डिफ़ॉल्ट मान सेट करता है
  • WHERE क्लॉज: बड़े टेबल पर प्रदर्शन के लिए WHERE जोड़कर केवल प्रभावित पंक्तियों को लक्षित करें

यह तकनीक थोक अपडेट, डेटा माइग्रेशन, और सशर्त डेटा परिवर्तन के लिए आदर्श है।

  1. - MySQL में REPLACE() फंक्शन का उपयोग करके वर्ण कैसे बदलें?

    MySQL में REPLACE() फ़ंक्शन का उपयोग करके किसी स्ट्रिंग में सभी घटनाओं को दूसरे स्ट्रिंग से बदला जा सकता है। यह टाइपो सुधार, डेटा सफाई के लिए उपयोगी है। सिंटैक्स REPLACE(column_name, old_string, new_string) उदाहरण तालिका बनाएं और डेटा डालें (टाइपो के साथ): mysql> CREATE TABLE DemoTable (Name VA

  1. - MySQL में इंडेक्स के साथ तालिका कैसे बनाएं?

    MySQL में तालिका निर्माण के बाद CREATE INDEX स्टेटमेंट का उपयोग करके इंडेक्स बनाए जा सकते हैं, या तालिका निर्माण के समय परिभाषित किए जा सकते हैं। विधि 1: तालिका निर्माण के बाद CREATE TABLE table_name ( col1 datatype, col2 datatype ); CREATE INDEX index_name1 ON table_name (col1); CREATE IN

  1. - MySQL में NOT IN का उपयोग करके केवल विशिष्ट पंक्तियाँ हटाएं

    MySQL में DELETE स्टेटमेंट के साथ NOT IN ऑपरेटर का उपयोग करके आप उन पंक्तियों को हटा सकते हैं जो दी गई सूची में नहीं हैं। यह विशिष्ट रिकॉर्ड रखते हुए बाकी हटाने के लिए उपयोगी है। टेबल बनाएं और डेटा डालें mysql> CREATE TABLE DemoTable1830 ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,