MySQL में UPDATE स्टेटमेंट का उपयोग करके एक ही क्वेरी में किसी टेबल के एक या अधिक कॉलम को विशिष्ट मानों पर सेट किया जा सकता है। यह तब उपयोगी होता है जब किसी विशिष्ट पंक्ति (या पंक्तियों) के सभी फ़ील्ड को एक साथ अपडेट करना हो।
सिंटैक्स
UPDATE table_name SET column1 = value1, column2 = value2, column3 = value3 ... WHERE condition;
व्यावहारिक उदाहरण
एक डेमो टेबल बनाएं:
mysql> CREATE TABLE DemoTable (
ClientId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
ClientName VARCHAR(40),
ClientAge INT,
ClientCountryName VARCHAR(40)
);
कुछ रिकॉर्ड डालें:
mysql> INSERT INTO DemoTable(ClientName, ClientAge, ClientCountryName) VALUES('Chris', 25, 'US');
mysql> INSERT INTO DemoTable(ClientName, ClientAge, ClientCountryName) VALUES('Bob', 55, 'UK');
mysql> INSERT INTO DemoTable(ClientName, ClientAge, ClientCountryName) VALUES('David', 45, 'AUS');
वर्तमान डेटा देखें:
mysql> SELECT * FROM DemoTable;
+----------+------------+-----------+-------------------+ | ClientId | ClientName | ClientAge | ClientCountryName | +----------+------------+-----------+-------------------+ | 1 | Chris | 25 | US | | 2 | Bob | 55 | UK | | 3 | David | 45 | AUS | +----------+------------+-----------+-------------------+
एकल क्वेरी से सभी कॉलम अपडेट करें (ClientId = 2 के लिए)
mysql> UPDATE DemoTable
SET ClientName = 'Sam', ClientAge = 48, ClientCountryName = 'AUS'
WHERE ClientId = 2;
अपडेट के बाद डेटा जांचें:
mysql> SELECT * FROM DemoTable;
+----------+------------+-----------+-------------------+ | ClientId | ClientName | ClientAge | ClientCountryName | +----------+------------+-----------+-------------------+ | 1 | Chris | 25 | US | | 2 | Sam | 48 | AUS | | 3 | David | 45 | AUS | +----------+------------+-----------+-------------------+
मुख्य बिंदु
SETक्लॉज में कॉमा से अलग करके एकाधिक कॉलम निर्दिष्ट करेंWHEREक्लॉज अनिवार्य है अन्यथा सभी पंक्तियां अपडेट हो जाएंगी- प्राथमिक कुंजी या अद्वितीय पहचानकर्ता का उपयोग करके विशिष्ट पंक्ति लक्षित करें
- एक ही क्वेरी में कितने भी कॉलम अपडेट किए जा सकते हैं
सावधानी
WHERE क्लॉज के बिना UPDATE चलाने से टेबल की हर पंक्ति प्रभावित होगी। हमेशा पहले SELECT से पुष्टि करें कि कौन सी पंक्तियां प्रभावित होंगी।