आप केस कमांड का उपयोग करके एक क्वेरी के साथ MySQL डेटा को थोक में अपडेट कर सकते हैं। वाक्य रचना इस प्रकार है -
अपडेट योरटेबलनेमसेटअपनाअपडेट कॉलमनाम =( केस योर कंडीशन कॉलमनाम जब वैल्यू1 तब ''अपडेटेड वैल्यू'जब वैल्यू2 फिर'अपडेट वैल्यू'..एनEND)जहां आपका कंडीशन कॉलमनाम IN(Value1,Value2,.....N);
उपरोक्त अवधारणा को समझने के लिए, आइए हम एक तालिका बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है -
mysql> टेबल बनाएं UpdateAllDemo −> ( −> BookId int, −> BookName varchar(200) −>);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (1.18 सेकंड)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। रिकॉर्ड डालने की क्वेरी इस प्रकार है -
mysql> UpdateAllDemo मानों में डालें (1000, 'सी का परिचय'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड) mysql> UpdateAllDemo मानों में डालें (1001, 'जावा का परिचय'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.21 सेकंड)
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -
mysql> UpdateAllDemo से *चुनें;
निम्न आउटपुट है -
<पूर्व>+-----+--------------------------+| BookId | बुकनाम |+----------+--------------------------+| 1000 | सी का परिचय || 1001 | जावा का परिचय |+----------+--------------------------+2 पंक्तियाँ सेट (0.00 सेकंड) मेंअब, हम बल्क अपडेट करेंगे यानी अपडेट करेंगे
-
मूल्य 'सी का परिचय' मूल्य 'गहराई में सी' के साथ, और
-
मान 'जावा का परिचय' और 'जावा इन डेप्थ' मान।
इसके लिए आप CASE कमांड का उपयोग कर सकते हैं जैसा कि ऊपर दिखाया गया है। क्वेरी इस प्रकार है -
mysql> UpdateAllDemo −> सेट बुकनाम =(केस बुक आईडी जब 1000 तब 'गहराई में' −> जब 1001 तब 'जावा इन डेप्थ' −> END) −> जहां BookId IN(1000,1001);क्वेरी ओके , 2 पंक्तियाँ प्रभावित (0.24 सेकंड)
अब आप जांच सकते हैं कि मान तालिका में अपडेट किए गए हैं या चयन कथन का उपयोग नहीं कर रहे हैं।
तालिका में अद्यतन मूल्य की जाँच करने के लिए क्वेरी इस प्रकार है -
mysql> UpdateAllDemo से *चुनें;
बल्क अपडेट के सफल प्रदर्शन को प्रदर्शित करने वाला आउटपुट निम्न है -
<पूर्व>+------+---+| BookId | बुकनाम |+----------+---------------+| 1000 | सी गहराई में || 1001 | गहराई में जावा |+----------+---------------+2 पंक्तियों में सेट (0.00 सेकंड)