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

MySQL-এ CASE স্টেটমেন্ট ব্যবহার করে টেবিলের মান বদলানো (YES/NO টগল)

UPDATE-এ CASE এক্সপ্রেশন ব্যবহার

MySQL-এ UPDATE স্টেটমেন্টের মধ্যে CASE এক্সপ্রেশন ব্যবহার করে শর্তসাপেক্ষভাবে মান বদলানো যায়।

উদাহরণ: টেবিল এবং ডেটা

mysql> CREATE TABLE replaceValueDemo (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> Name VARCHAR(10), isGreaterThan18 VARCHAR(10)
    -> );
mysql> INSERT INTO replaceValueDemo (Name, isGreaterThan18) VALUES
    -> ('John','YES'), ('Carol','NO'), ('Mike','YES'), ('Bob','YES'),
    -> ('Larry','NO'), ('David','NO'), ('James','DONOTKNOW'), ('Robert','DONOTKNOW');

YES কে NO এবং NO কে YES করা (DONOTKNOW বাদ)

mysql> UPDATE replaceValueDemo
    -> SET isGreaterThan18 = CASE
    ->   WHEN isGreaterThan18 = 'YES' THEN 'NO'
    ->   ELSE 'YES'
    -> END
    -> WHERE isGreaterThan18 IN ('YES', 'NO');

ফলাফল

+----+--------+-----------------+
| Id | Name   | isGreaterThan18 |
+----+--------+-----------------+
| 1  | John   | NO              |
| 2  | Carol  | YES             |
| 3  | Mike   | NO              |
| 4  | Bob    | NO              |
| 5  | Larry  | YES             |
| 6  | David  | YES             |
| 7  | James  | DONOTKNOW       |
| 8  | Robert | DONOTKNOW       |
+----+--------+-----------------+

ব্যাখ্যা: WHERE ক্লজে IN ('YES','NO') দিয়ে শুধু এই দুটি মান-ওয়ালা রো আপডেট হয়েছে।

  1. একটি MySQL কোয়েরিতে টেম্পোরারি টেবিলে একাধিক মান ইনসার্ট করা

  2. MySQL কোয়েরি কলাম মান রিপ্লেস করার জন্য

  3. MySQL-এ REPLACE() ফাংশন দিয়ে ক্যারেক্টার রিপ্লেস করা

  4. MySQL-এ টেবিলে নেই এমন মানগুলো কোয়েরি করে বের করা (UNION ALL + NOT EXISTS)