আপনি CASE কমান্ড ব্যবহার করে একটি প্রশ্নের সাথে MySQL ডেটা বাল্ক আপডেট করতে পারেন। সিনট্যাক্স নিম্নরূপ -
আপডেট yourTableNameset yourUpdateColumnName =( কেস your ConditionColumnName WHEN Value1 তারপর 'UpdatedValue'WHEN Value2 তারপর 'UpdatedValue'..NEND) যেখানে your ConditionColumnName IN(Value1,Value>)উপরের ধারণাটি বুঝতে, আসুন একটি টেবিল তৈরি করি। একটি টেবিল তৈরি করার প্রশ্নটি নিম্নরূপ -
mysql> সারণি তৈরি করুন UpdateAllDemo −> ( −> BookId int, −> BookName varchar(200) −> );কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (1.18 সেকেন্ড)সন্নিবেশ কমান্ড ব্যবহার করে টেবিলে কিছু রেকর্ড সন্নিবেশ করান। রেকর্ড সন্নিবেশ করার জন্য ক্যোয়ারী নিম্নরূপ -
mysql> UpdateAllDemo মানগুলিতে সন্নিবেশ করুন(1000,'C এর ভূমিকা');কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.15 সেকেন্ড)mysql> UpdateAllDemo মানগুলিতে সন্নিবেশ করুন(1001,'জাভাতে পরিচিতি');কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.21 সেকেন্ড)সিলেক্ট স্টেটমেন্ট ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করুন। প্রশ্নটি নিম্নরূপ -
mysql> UpdateAllDemo থেকে *নির্বাচন করুন;নিচের আউটপুট −
+---------+----------------------+| বুকআইডি | বইয়ের নাম |+---------+----------------------+| 1000 | সি পরিচিতি || 1001 | জাভা পরিচিতি |+------+----------------------+2 সারি সেটে (0.00 সেকেন্ড)এখন, আমরা বাল্ক আপডেট করব অর্থাৎ আপডেট করব
-
'গভীরতার মধ্যে C' মানের সাথে 'C এর ভূমিকা', এবং
-
'জাভা ইন ডেপথ' মানের সাথে 'জাভার পরিচিতি'।
আপনি উপরে দেখানো হিসাবে এটির জন্য CASE কমান্ড ব্যবহার করতে পারেন। প্রশ্নটি নিম্নরূপ -
mysql> UpdateAllDemo −> সেট BookName =(CASE BookId WHEN 1000 তারপর 'C in Depth' −> when 1001 তারপর 'Java in Depth' −> END) −> কোথায় BookId IN(1000,1001);Query , 2 সারি প্রভাবিত (0.24 সেকেন্ড)
এখন আপনি চেক করতে পারেন যে মানগুলি টেবিলে আপডেট করা হয়েছে নাকি সিলেক্ট স্টেটমেন্ট ব্যবহার করছে না।
সারণীতে আপডেট করা মান পরীক্ষা করার জন্য ক্যোয়ারী নিম্নরূপ -
mysql> UpdateAllDemo থেকে *নির্বাচন করুন;
নিম্নোক্ত আউটপুট বাল্ক আপডেট সফল -
প্রদর্শন করছে+---------+---------------+| বুকআইডি | বইয়ের নাম |+---------+---------------+| 1000 | C গভীরতায় || 1001 | গভীরতায় জাভা |+-------+---------------+2 সারি সেটে (০.০০ সেকেন্ড)