WHERE क्लॉज के साथ विशिष्ट पंक्ति का कॉलम मान अपडेट करना
किसी विशिष्ट पंक्ति के कॉलम मान को बदलने के लिए UPDATE के साथ SET और WHERE का उपयोग करें।
आइए पहले एक टेबल बनाते हैं:
mysql> CREATE TABLE DemoTable (
StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Score INT
);
रिकॉर्ड्स इन्सर्ट करें:
mysql> INSERT INTO DemoTable (Score) VALUES (56); mysql> INSERT INTO DemoTable (Score) VALUES (78); mysql> INSERT INTO DemoTable (Score) VALUES (34); mysql> INSERT INTO DemoTable (Score) VALUES (55);
सभी रिकॉर्ड्स देखें:
mysql> SELECT * FROM DemoTable;
आउटपुट:
+-----------+-------+ | StudentId | Score | +-----------+-------+ | 1 | 56 | | 2 | 78 | | 3 | 34 | | 4 | 55 | +-----------+-------+
StudentId = 3 वाले रिकॉर्ड का Score 95 पर अपडेट करने के लिए क्वेरी:
mysql> UPDATE DemoTable
SET Score = 95
WHERE StudentId = 3;
आउटपुट: Query OK, 1 row affected (Rows matched: 1, Changed: 1)
टेबल रिकॉर्ड्स फिर से जांचें:
mysql> SELECT * FROM DemoTable;
आउटपुट:
+-----------+-------+ | StudentId | Score | +-----------+-------+ | 1 | 56 | | 2 | 78 | | 3 | 95 | | 4 | 55 | +-----------+-------+
व्याख्या:
- UPDATE DemoTable: टेबल निर्दिष्ट करता है
- SET Score = 95: Score कॉलम को नया मान 95 देता है
- WHERE StudentId = 3: केवल StudentId 3 वाली पंक्ति को प्रभावित करता है
- Rows matched: 1: WHERE शर्त से 1 पंक्ति मेल खाई
- Changed: 1: 1 पंक्ति वास्तव में बदली (मान 34 से 95 हुआ)
महत्वपूर्ण: WHERE क्लॉज के बिना UPDATE सभी पंक्तियों को अपडेट कर देगा:
-- खतरनाक! सभी Score 95 हो जाएंगे UPDATE DemoTable SET Score = 95;
एकाधिक कॉलम अपडेट:
UPDATE DemoTable SET Score = 95, StudentName = 'Updated' WHERE StudentId = 3;