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

MySQL में एक कॉलम की कई पंक्तियाँ एक साथ कैसे अपडेट करें?


CASE स्टेटमेंट से बल्क अपडेट

MySQL में एक ही कॉलम की कई पंक्तियों को अलग-अलग मानों से एक साथ अपडेट करने के लिए CASE स्टेटमेंट का उपयोग करें।

सिंटैक्स

UPDATE yourTableName
SET yourColumnName = CASE yourIdColumn
    WHEN value1 THEN newValue1
    WHEN value2 THEN newValue2
    WHEN value3 THEN newValue3
    END
WHERE yourIdColumn BETWEEN value1 AND value3;

उदाहरण: छात्रों के अंक अपडेट करना

टेबल बनाएं:

mysql> CREATE TABLE updateMultipleRowsDemo (
    -> StudentId INT,
    -> StudentMathScore INT
    -> );

डेटा इन्सर्ट करें:

mysql> INSERT INTO updateMultipleRowsDemo VALUES(10001, 67);
mysql> INSERT INTO updateMultipleRowsDemo VALUES(10002, 69);
mysql> INSERT INTO updateMultipleRowsDemo VALUES(10003, 89);
mysql> INSERT INTO updateMultipleRowsDemo VALUES(10004, 99);
mysql> INSERT INTO updateMultipleRowsDemo VALUES(10005, 92);

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

+-----------+------------------+
| StudentId | StudentMathScore |
+-----------+------------------+
| 10001     | 67               |
| 10002     | 69               |
| 10003     | 89               |
| 10004     | 99               |
| 10005     | 92               |
+-----------+------------------+

एक साथ कई पंक्तियाँ अपडेट करने की क्वेरी

mysql> UPDATE updateMultipleRowsDemo
    -> SET StudentMathScore = CASE StudentId
    -> WHEN 10001 THEN 45
    -> WHEN 10002 THEN 52
    -> WHEN 10003 THEN 67
    -> END
    -> WHERE StudentId BETWEEN 10001 AND 10003;

आउटपुट: Query OK, 3 rows affected (0.19 sec) Rows matched: 3 Changed: 3 Warnings: 0

अपडेट के बाद:

+-----------+------------------+
| StudentId | StudentMathScore |
+-----------+------------------+
| 10001     | 45               |
| 10002     | 52               |
| 10003     | 67               |
| 10004     | 99               |
| 10005     | 92               |
+-----------+------------------+

महत्वपूर्ण बिंदु:

  • WHERE क्लॉज केवल उन पंक्तियों तक सीमित करता है जिन्हें अपडेट करना है
  • CASE में शामिल न होने वाली पंक्तियाँ अपरिवर्तित रहती हैं
  • ELSE क्लॉज जोड़कर डिफ़ॉल्ट मान सेट कर सकते हैं
  • यह तरीका अलग-अलग UPDATE क्वेरी चलाने से तेज़ है
  1. - MySQL में एक ही क्वेरी में एकाधिक रिकॉर्ड कैसे अपडेट करें?

    MySQL में UPDATE स्टेटमेंट में WHERE क्लॉज का उपयोग करके एक ही क्वेरी में एकाधिक कॉलम अपडेट किए जा सकते हैं, लेकिन एकाधिक पंक्तियों को अलग-अलग मानों से अपडेट करने के लिए CASE या एकाधिक क्वेरी की आवश्यकता होती है। उदाहरण: एक पंक्ति, एकाधिक कॉलम तालिका बनाएं: mysql> CREATE TABLE DemoTable ( -&

  1. - MySQL में UPDATE SET से एकल कॉलम अपडेट करने का सर्वोत्तम तरीका

    MySQL टेबल में एकल कॉलम के सभी मानों को अपडेट करने के लिए UPDATE और SET का उपयोग करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1873 ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName VARCHAR(20) ); डेटा डालें mysql> INSERT INTO DemoTable1873(FirstName) VALUES(John), (Adam), (Dav

  1. - एकल MySQL क्वेरी में एक कॉलम में एकाधिक मान कैसे डालें?

    सिंटैक्स एक कॉलम में एकाधिक मान डालने के लिए, निम्नलिखित सिंटैक्स का उपयोग करें: INSERT INTO yourTableName VALUES (yourValue1), (yourValue2), ... (yourValueN); उदाहरण सबसे पहले एक टेबल बनाते हैं: ); अब INSERT कमांड का उपयोग करके रिकॉर्ड डालें: INSERT INTO DemoTable2022 VALUES (Computer Science)