কম্পিউটার টিউটোরিয়াল

MySQL-এ CASE এক্সপ্রেশন ব্যবহার করে এক কোয়েরিতে বাল্ক আপডেট করা

MySQL-এ একাধিক রোয়ের ভিন্ন ভিন্ন মান আপডেট করতে একক `UPDATE` কোয়েরিতে `CASE` এক্সপ্রেশন ব্যবহার করুন। এটি প্যাশনেট আপডেটের চেয়ে দ্রুত এবং اتমিক।

সিনট্যাক্স

UPDATE yourTableName 
SET yourUpdateColumnName = CASE yourConditionColumnName
    WHEN value1 THEN 'updatedValue1'
    WHEN value2 THEN 'updatedValue2'
    ...
    ELSE yourUpdateColumnName
END
WHERE yourConditionColumnName IN (value1, value2, ...);

উদাহরণ

mysql> CREATE TABLE UpdateAllDemo (BookId INT, BookName VARCHAR(200));
mysql> INSERT INTO UpdateAllDemo VALUES (1000,'Introduction to C'), (1001,'Introduction to Java');

mysql> UPDATE UpdateAllDemo 
    -> SET BookName = CASE BookId 
    ->     WHEN 1000 THEN 'C in Depth' 
    ->     WHEN 1001 THEN 'Java in Depth' 
    -> END 
    -> WHERE BookId IN (1000, 1001);
Query OK, 2 rows affected (0.24 sec)

mysql> SELECT * FROM UpdateAllDemo;
+--------+---------------+
| BookId | BookName      |
+--------+---------------+
| 1000   | C in Depth    |
| 1001   | Java in Depth |
+--------+---------------+

লợiতা: একাধিক `UPDATE` কোয়েরি রান না করে একই ট্রানজ্যাকশনে সব আপডেট হয়। `ELSE` ক্লজ না দিলে শর্তে না পড়া রো গুলো `NULL` হয়ে যেতে পারে—সতর্ক থাকুন।

  1. MySQL-এ UPDATE কোয়েরি LIMIT সহ ব্যবহার করা যায় কি?

  2. Java ব্যবহার করে MySQL ডেটাবেসে ডেটা আপডেট করা

  3. Java ব্যবহার করে MySQL ডেটাবেস থেকে ডেটা ডিলিট করা

  4. MySQL-এ কাস্টম ভেরিয়েবল ব্যবহার করে আপডেট করা