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

MySQL-এ শর্ত অনুযায়ী ভিন্ন ফিল্ড আপডেট করা

প্রথমে একটি টেবিল তৈরি করি:

mysql> create table DemoTable1436 (
    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> Name varchar(20)
    -> );
Query OK, 0 rows affected (1.06 sec)

রেকর্ড ইনসার্ট করি:

mysql> insert into DemoTable1436(Name) values('Chris');
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable1436(Name) values('David');
Query OK, 1 row affected (0.40 sec)
mysql> insert into DemoTable1436(Name) values('Bob');
Query OK, 1 row affected (0.35 sec)
mysql> insert into DemoTable1436(Name) values('David');
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable1436(Name) values('David');
Query OK, 1 row affected (0.31 sec)

সব রেকর্ড দেখি:

mysql> select * from DemoTable1436;

আউটপুট:

+----+-------+
| Id | Name  |
+----+-------+
|  1 | Chris |
|  2 | David |
|  3 | Bob   |
|  4 | David |
|  5 | David |
+----+-------+
5 rows in set (0.00 sec)

শর্ত অনুযায়ী আপডেট করার কোয়েরি (IF ফাংশন ব্যবহার):

mysql> update DemoTable1436
    -> set Name=IF(Name='David','Carol Taylor',Name)
    -> where Id=2;
Query OK, 1 row affected (0.31 sec)
Rows matched: 1  Changed: 1  Warnings: 0

আবার চেক করি:

mysql> select * from DemoTable1436;

আউটপুট (শুধু Id=2 আপডেট হয়েছে):

+----+--------------+
| Id | Name         |
+----+--------------+
|  1 | Chris        |
|  2 | Carol Taylor |
|  3 | Bob          |
|  4 | David        |
|  5 | David        |
+----+--------------+
5 rows in set (0.00 sec)

ব্যাখ্যা: IF(condition, true_value, false_value) দিয়ে শর্তমতো মান সেট করা হয়েছে।

  1. MySQL-এ শর্তসাপেক্ষ ORDER BY ব্যবহার করে রেকর্ড সাজানো

  2. শর্ত অনুযায়ী MySQL-এ কলামের SUM করা

  3. MySQL-এ JOIN দিয়ে অন্য টেবিলের কলাম ভিত্তিক আপডেট করা

  4. MySQL-এ একাধিক কলাম একসাথে আপডেট করা (সিঙ্গল কুয়েরি)