१. परिचय
माइएसक्युएल धेरै वेब एप्लिकेसनहरू र डाटाबेस व्यवस्थापनमा प्रयोग हुन्छ, र डाटा अपडेट गर्नु दैनिक सञ्चालन र एप्लिकेसन मर्मतका लागि अत्यन्त महत्वपूर्ण छ। विशेष गरी, ठूलो मात्रामा डाटा ह्यान्डल गर्ने प्रणालीहरूका लागि वा एकैचोटि धेरै रेकर्डहरू अपडेट गर्नुपर्ने अवस्थामा, माइएसक्युएलको UPDATE स्टेटमेन्टलाई कुशलतापूर्वक सञ्चालन गर्नु आवश्यक छ। यो लेखले माइएसक्युएलको UPDATE स्टेटमेन्ट प्रयोग गरेर धेरै रेकर्डहरू र कलमहरू एकैचोटि बल्कमा अपडेट गर्ने तरिकालाई विस्तृत रूपमा व्याख्या गर्दछ। साधारण प्रयोगदेखि लिएर जटिल शर्तीय अपडेटहरू सम्म, हामी तिनीहरूलाई क्रममा प्रस्तुत गर्दछौं, जसले माइएसक्युएलसँग जटिल अपडेट सञ्चालनहरू गर्न चाहनेहरूका लागि उपयोगी स्रोत बन्छ।
२. UPDATE स्टेटमेन्टहरूको आधारभूत वाक्यरचना
माइएसक्युएलको UPDATE स्टेटमेन्ट तालिकामा विशिष्ट शर्तहरूका आधारमा डाटा अपडेट गर्नका लागि वाक्यरचना हो। पहिले, UPDATE स्टेटमेन्टको आधारभूत वाक्यरचना र एकल रेकर्ड वा कलम अपडेट गर्ने तरिकालाई हेरौं।
आधारभूत वाक्यरचना
माइएसक्युएलको UPDATE स्टेटमेन्टको आधारभूत वाक्यरचना निम्नानुसार छ।
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
- table_name : अपडेट गर्नुपर्ने तालिकाको नाम निर्दिष्ट गर्नुहोस्।
- SET clause : अपडेट गर्नुपर्ने कलमहरू र तिनका नयाँ मानहरू निर्दिष्ट गर्नुहोस्। एकैचोटि धेरै कलमहरू अपडेट गर्दा, कलम-मान जोडाहरूलाई अल्पविरामले अलग गर्नुहोस्।
- WHERE clause : अपडेट गर्नुपर्ने रेकर्डहरूका लागि शर्त निर्दिष्ट गर्नुहोस्। यदि शर्तलाई छोड्नुभयो भने, तालिकाका सबै रेकर्डहरू अपडेट हुनेछन्, त्यसैले सावधान रहनुहोस्।
एकल रेकर्ड वा कलम अपडेट गर्ने उदाहरण
आधारभूत प्रयोगको उदाहरणको रूपमा, एकल रेकर्ड वा कलम अपडेट गर्ने तरिकालाई हेरौं।
UPDATE users
SET name = 'Tanaka'
WHERE id = 1;
यो SQL स्टेटमेन्टले users तालिकामा id १ भएको रेकर्डको name कलमलाई “Tanaka” मा अपडेट गर्दछ। WHERE clause निर्दिष्ट गरेर, तपाईंले विशिष्ट रेकर्डमात्र अपडेट गर्न सक्नुहुन्छ। 
३. धेरै रेकर्डहरू बल्क अपडेट गर्ने
धेरै रेकर्डहरू बल्कमा अपडेट गर्दा, तपाईंले WHERE clause मा धेरै शर्तहरू निर्दिष्ट गर्न सक्नुहुन्छ। उदाहरणका लागि, तपाईंले IN वा OR clause प्रयोग गरेर धेरै शर्तहरू निर्दिष्ट गर्न सक्नुहुन्छ र धेरै रेकर्डहरूलाई कुशलतापूर्वक अपडेट गर्न सक्नुहुन्छ।
IN Clause प्रयोग गरेर धेरै रेकर्डहरू अपडेट गर्ने
IN clause प्रयोग गरेर, तपाईंले विशिष्ट मानहरूको सूचीसँग मेल खाने रेकर्डहरूलाई अपडेट गर्न सक्नुहुन्छ।
UPDATE users
SET status = 'active'
WHERE id IN (1, 3, 5, 7);
यो SQL स्टेटमेन्टमा, users तालिकाभित्र, id १, ३, ५, वा ७ भएको रेकर्डहरूको status कलमलाई ‘active’ मा अपडेट गरिन्छ। IN clause प्रयोग गरेर शर्त पूरा गर्ने धेरै रेकर्डहरूलाई बल्क अपडेट गर्न सकिन्छ।
OR Clause प्रयोग गरेर धेरै शर्तहरू निर्दिष्ट गर्ने
OR clause ले धेरै शर्तहरूलाई जोडेर निर्दिष्ट गर्न अनुमति दिन्छ।
UPDATE users
SET status = 'inactive'
WHERE id = 2 OR id = 4 OR id = 6;
यो SQL स्टेटमेन्टमा, id २, ४, वा ६ भएको रेकर्डहरूको status कलमलाई ‘inactive’ मा अपडेट गरिन्छ। OR clause प्रयोग गरेर धेरै शर्तहरूसँग मेल खाने रेकर्डहरूलाई एकैचोटि अपडेट गर्न सकिन्छ।
४. धेरै कलमहरू एकैचोटि अपडेट गर्ने
माइएसक्युएलको UPDATE स्टेटमेन्टहरूमा, तपाईंले धेरै कलमहरूलाई एकैचोटि अपडेट गर्न सक्नुहुन्छ। यो तब उपयोगी हुन्छ जब तपाईंलाई डाटा स्थिरता कायम राख्दै एकैचोटि धेरै जानकारीहरू परिवर्तन गर्न आवश्यक पर्छ।
धेरै कलमहरू अपडेट गर्ने उदाहरण
धेरै कलमहरू एकैचोटि अपडेट गर्दा, SET clause मा कलम नामहरू र मानहरू निर्दिष्ट गर्नुहोस्, अल्पविरामले अलग गर्दै।
UPDATE products
SET price = price * 1.1, stock = stock - 1
WHERE id = 10;
यो SQL स्टेटमेन्टमा, products तालिकामा id १० भएको रेकर्डका लागि, price कलमलाई १०% ले बढाइन्छ र stock कलमलाई १ ले घटाइन्छ। SET clause मा धेरै कलमहरू निर्दिष्ट गरेर, तपाईंले धेरै जानकारीहरूलाई कुशलतापूर्वक अपडेट गर्न सक्नुहुन्छ।
५. CASE स्टेटमेन्टहरू प्रयोग गरेर शर्तीय अपडेट
माइएसक्युएलको UPDATE स्टेटमेन्टहरूमा, तपाईंले CASE अभिव्यक्तिहरू प्रयोग गरेर शर्तहरूका आधारमा फरक मानहरू सेट गर्न सक्नुहुन्छ। यसले धेरै शर्तहरू अनुसार अपडेट सामग्रीहरूलाई लचक बनाउँछ, जसले जटिल अपडेट सञ्चालनहरूलाई सजिलै सञ्चालन गर्न सकिन्छ।
CASE अभिव्यक्तिहरू प्रयोग गर्ने आधारभूत वाक्यरचना
CASE अभिव्यक्ति प्रयोग गरेर UPDATE वक्तव्यको आधारभूत वाक्यरचना निम्नानुसार छ।
UPDATE table_name
SET column_name = CASE
WHEN condition1 THEN value1
WHEN condition2 THEN value2
...
ELSE default_value
END
WHERE condition;
- स्तम्भ नाम : तपाईं अपडेट गर्न चाहनुहुने स्तम्भ निर्दिष्ट गर्दछ।
- अवस्था : WHEN खण्डमा अवस्था निर्दिष्ट गर्नुहोस्, र जब यो मेल खान्छ THEN खण्डमा लागू गर्नका लागि मान सेट गर्नुहोस्।
- पूर्वनिर्धारित मान : जब कुनै पनि अवस्थाहरू मेल खाँदैनन् तब सेट गरिएको मान (वैकल्पिक)।
CASE प्रयोग गरेर व्यावहारिक उदाहरण
यहाँ, employees तालिकामा जागिर पद अनुसार तलब अपडेट गर्ने उदाहरण हेरौं।
UPDATE employees
SET salary = CASE
WHEN position = 'Manager' THEN salary * 1.1
WHEN position = 'Developer' THEN salary * 1.05
WHEN position = 'Intern' THEN salary * 1.02
ELSE salary
END;
यो SQL वक्तव्यमा, employees तालिकाका प्रत्येक रेकर्डका लागि, position स्तम्भको मान अनुसार salary स्तम्भ अपडेट गरिन्छ।
बहु स्तम्भहरूको सर्तीय अपडेट
CASE अभिव्यक्तिहरू बहु स्तम्भहरूमा पनि लागू गर्न सकिन्छ। तलको उदाहरणमा, employees तालिकाका salary र bonus स्तम्भहरू जागिर पद र सेवा वर्षहरू अनुसार फरक मानहरूबाट अपडेट गरिन्छन्।
UPDATE employees
SET
salary = CASE
WHEN position = 'Manager' AND years_of_service >= 5 THEN salary * 1.15
WHEN position = 'Developer' AND years_of_service >= 3 THEN salary * 1.1
ELSE salary
END,
bonus = CASE
WHEN position = 'Manager' THEN bonus + 1000
WHEN position = 'Developer' THEN bonus + 500
ELSE bonus
END;
यो SQL वक्तव्यमा, जागिर पद र सेवा वर्षहरू अनुसार तलब र बोनसहरू एकैसाथ सर्तीय रूपमा अपडेट गरिन्छन्। CASE अभिव्यक्तिहरू प्रयोग गरेर बहु अवस्थाहरूमा आधारित लचिलो अपडेटहरू सम्भव हुन्छन्। 
६. JOIN प्रयोग गरेर बहु तालिकाहरू अपडेट गर्ने
MySQL मा, तपाईं JOIN खण्ड प्रयोग गरेर बहु तालिकाहरू संयोजन गर्न सक्नुहुन्छ र विशिष्ट अवस्थाहरूमा आधारित रेकर्डहरू अपडेट गर्न सक्नुहुन्छ। यसले एक तालिका अपडेट गर्दा फरक तालिकाहरूबाट डाटा सन्दर्भ गर्न अनुमति दिन्छ, जसले जटिल डाटा हेरफेर सम्भव बनाउँछ।
JOIN प्रयोग गरेर UPDATE वक्तव्यहरूको आधारभूत वाक्यरचना
JOIN सहित बहु तालिकाहरू अपडेट गर्दा, आधारभूत वाक्यरचना निम्नानुसार छ।
UPDATE tableA
JOIN tableB ON tableA.column = tableB.column
SET tableA.updated_column = new_value
WHERE condition;
- तालिका A र तालिका B : अपडेटका लागि लक्षित तालिका (तालिका A) र सन्दर्भ तालिका (तालिका B) निर्दिष्ट गर्नुहोस्।
- ON खण्ड : JOIN अवस्था निर्दिष्ट गर्नुहोस् र तालिकाहरूलाई जस स्तम्भमा जोड्ने हो परिभाषित गर्नुहोस्।
- SET खण्ड : अपडेट गर्ने स्तम्भ र यसको नयाँ मान निर्दिष्ट गर्नुहोस्।
- WHERE खण्ड : अपडेट अवस्था निर्दिष्ट गर्नुहोस्, केवल मेल खाने रेकर्डहरू अपडेट गर्नुहोस्।
JOIN प्रयोग गरेर व्यावहारिक उदाहरण
उदाहरणका लागि, orders तालिकालाई customers तालिकासँग जोडेर विशिष्ट ग्राहकसँग सम्बन्धित अर्डरहरूको स्थिति अपडेट गर्ने उदाहरण हेरौं।
UPDATE orders
JOIN customers ON orders.customer_id = customers.id
SET orders.status = 'Shipped'
WHERE customers.vip_status = 'Yes';
यो SQL वक्तव्यमा, customers तालिकामा vip_status “Yes” भएको ग्राहकहरूसँग सम्बन्धित orders तालिकाको status स्तम्भ “Shipped” मा अपडेट गरिन्छ। JOIN खण्ड प्रयोग गरेर, तपाईं अन्य तालिकाहरूबाट जानकारीमा आधारित अपडेट गर्न सक्नुहुन्छ।
बहु अवस्थाहरूसँग JOIN अपडेट
तपाईं बहु अवस्थाहरू संयोजन गरेर थप विस्तृत मापदण्डहरू निर्दिष्ट गर्न सक्नुहुन्छ। तलको उदाहरणमा, विशिष्ट ग्राहकसँग सम्बन्धित अर्डरहरूको स्थिति अवस्थाहरूमा आधारित सामूहिक रूपमा परिवर्तन गरिन्छ।
UPDATE orders
JOIN customers ON orders.customer_id = customers.id
SET orders.status = CASE
WHEN customers.vip_status = 'Yes' THEN 'Priority'
WHEN customers.vip_status = 'No' AND orders.amount > 10000 THEN 'Review'
ELSE orders.status
END
WHERE orders.date >= '2024-01-01';
JOIN को लाभ लिनुहोस्, तपाईं अवस्थाहरू अनुसार अनुकूलित लचिलो डाटा अपडेटहरू गर्न सक्नुहुन्छ।
७. कार्यसम्पादन र विचारणीय कुराहरू
MySQL UPDATE वाक्यहरू प्रयोग गरेर धेरै पङ्क्तिहरू वा स्तम्भहरूको थोकमा परिवर्तन गर्दा, विशेष गरी ठूला डाटा सेटहरूसँग, कार्यसम्पादनलाई विचार गर्नुपर्छ। तल सुधारिएको अपडेट कार्यसम्पादन र डाटा अखण्डता कायम राख्न जान्नुपर्ने मुख्य बुँदाहरू र सावधानीहरू छन्।
कार्यसम्पादन अनुकूलन सुझावहरू
सूचकांकहरूको उपयोग
विशिष्ट अवस्थाहरूमा WHERE खण्ड प्रयोग गरेर रेकर्डहरू अपडेट गर्दा, सम्बन्धित स्तम्भहरूमा सूचकांक थप्नुले खोज गतिलाई सुधार्छ। सूचकांकहरूले क्वेरी कार्यसम्पादनलाई बढाउँछन्, अपडेटले ठूलो मात्राको डाटालाई लक्षित गर्दा पनि कुशल प्रसंस्करण अनुमति दिन्छ।
CREATE INDEX idx_customer_id ON orders(customer_id);
यद्यपि, धेरै सूचकांकहरू हुनुले वास्तवमा कार्यसम्पादनलाई कम गर्न सक्छ, त्यसैले केवल आवश्यक स्तम्भहरूमा सूचकांक गर्न सिफारिस गरिन्छ।
ब्याच प्रसंस्करणसँग लोड घटाउने
एकैचोटि धेरै पङ्क्तिहरू अपडेट गर्दा डाटाबेस सर्भरमा भारी लोड राख्न सक्छ र प्रतिक्रिया समयलाई ढिलो बनाउँछ। ठूलो अपडेटहरूको लागि, ब्याच प्रसंस्करण प्रयोग गर्नु (कार्यलाई धेरै पासहरूमा निष्पादन गर्ने) ले सर्भरमा लोड घटाउन सक्छ।
UPDATE orders
SET status = 'Processed'
WHERE status = 'Pending'
LIMIT 1000;
यसलाई स्क्रिप्टसँग जोडेर, तपाईं कुशल डाटा परिवर्तनको लागि ब्याच अपडेटहरूलाई बारम्बार चलाउन सक्नुहुन्छ।
लेनदेनहरू प्रयोग गर्ने
धेरै UPDATE वाक्यहरू सम्बन्धित हुँदा वा डाटा अखण्डता महत्वपूर्ण हुँदा, लेनदेन प्रयोग गर्नुले स्थिरता सुनिश्चित गर्दछ। लेनदेनसँग, अपडेटको दौरान हुने कुनै पनि त्रुटिले सबै परिवर्तनहरूलाई पछाडि फर्काउन सक्छ।
START TRANSACTION;
UPDATE accounts SET balance = balance - 500 WHERE id = 1;
UPDATE accounts SET balance = balance + 500 WHERE id = 2;
COMMIT;
लक व्यवस्थापन
UPDATE निष्पादनले तालिका लकहरू निम्त्याउन सक्छ। यो विशेष गरी महत्वपूर्ण छ जब धेरै प्रयोगकर्ताहरूले एकै तालिकामा समवर्ती रूपमा पहुँच गर्छन्। उदाहरणको लागि, पङ्क्ति-स्तरका लकहरू प्रयोग गर्नुले अन्य प्रयोगकर्ताहरूलाई फरक पङ्क्तिहरूमा एकैचोटि काम गर्न अनुमति दिन्छ, समानान्तर प्रसंस्करण सक्षम गर्दछ। पूर्ण-तालिका लकहरूबाट बच्नुले डाटाबेस प्रतिक्रियाशीलतालाई सुधार्छ। 
८. सारांश
यो लेखमा, हामीले MySQL को UPDATE वाक्य प्रयोग गरेर धेरै रेकर्डहरू र स्तम्भहरू अपडेट गर्ने कुशल विधिहरूको विस्तृत व्याख्या प्रदान गरेका छौं, आधारभूत प्रयोगदेखि उन्नत प्रविधिहरूसम्म सबै कभर गर्दै। MySQL मा धेरै डाटा टुक्राहरू अपडेट गर्दा, तपाईंलाई डाटा मात्रा, प्रसंस्करण गति, र डाटा अखण्डतालाई विचार गर्न आवश्यक छ।
मुख्य बुँदाहरूको समीक्षा
- UPDATE वाक्यहरूको आधारभूत
- UPDATE वाक्यको आधारभूत syntax बुझ्नुले तपाईंलाई व्यक्तिगत स्तम्भहरू वा रेकर्डहरू सुरक्षित रूपमा अपडेट गर्न अनुमति दिन्छ।
- धेरै रेकर्डहरूको थोक अपडेट
- हामीले WHERE, IN, र OR खण्डहरू प्रयोग गरेर विशिष्ट अवस्थाहरू पूरा गर्ने धेरै रेकर्डहरू कुशलतापूर्वक अपडेट गर्ने तरिका देखायौं।
- धेरै स्तम्भहरूको एकैचोटि अपडेट
- SET खण्ड प्रयोग गरेर, तपाईं एकै रेकर्ड भित्र धेरै स्तम्भहरू एकैचोटि अपडेट गर्न सक्नुहुन्छ, डाटा स्थिरता कायम राख्दै कुशल अपडेटहरू सक्षम गर्दछ।
- CASE वाक्यहरू प्रयोग गरेर सर्तीय अपडेटहरू
- CASE वाक्यहरूको उपयोगले अवस्थाहरूमा आधारित एकल कार्यमा फरक अपडेटहरू गर्न अनुमति दिन्छ, जटिल अपडेट तर्क सरलीकृत गर्दछ।
- JOIN प्रयोग गरेर धेरै तालिकाहरू अपडेट
- विशिष्ट रेकर्डहरू अपडेट गर्दा अन्य तालिकाहरूबाट डाटा सन्दर्भ गर्दै, तपाईं समग्र डाटाबेस अखण्डतालाई सुधार्न सक्नुहुन्छ।
- कार्यसम्पादन र विचारणीय कुराहरू
- हामीले सूचकांकहरू, ब्याच प्रसंस्करण, र लेनदेनहरूको उपयोगले कुशल र सुरक्षित डाटा अपडेटहरू कसरी गर्ने सिक्यौं। साथै, डाटाबेस कार्यसम्पादन अनुकूलन गर्न लक व्यवस्थापनको ध्यान राख्नुहोस्।
निष्कर्ष
MySQL मा डाटा कुशलतापूर्वक अपडेट गर्नु डाटाबेस प्रशासनमा विशेष रूपमा महत्वपूर्ण कौशल हो। UPDATE वाक्यमा महारथ हासिल गर्नुले सञ्चालन कुशलतालाई बढाउन र समग्र प्रणाली कार्यसम्पादनलाई अनुकूलन गर्न सक्छ। यो लेखमा प्रस्तुत प्रविधिहरूलाई आफ्ना वास्तविक कार्यहरू र परियोजनाहरूमा लागू गर्न निश्चित गर्नुहोस्।


