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

MySQL-এ অন্য একটি টেবিল থেকে মান নিয়ে টেবিল আপডেট করা

আমরা INNER JOIN সাহায্যে অন্য একটি টেবিল আপডেট করতে পারি। চলুন দুটি টেবিল তৈরি করি।

টেবিল তৈরি করা

mysql> CREATE table tblFirst
-> (
-> id int,
-> name varchar(100)
-> );
Query OK, 0 rows affected (0.48 sec)

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

mysql> INSERT into tblFirst values(1,'John');
Query OK, 1 row affected (0.17 sec)
mysql> INSERT into tblFirst values(2,'Bob');
Query OK, 1 row affected (0.26 sec)
mysql> INSERT into tblFirst values(3,'David');
Query OK, 1 row affected (0.20 sec)

সকল রেকর্ড প্রদর্শন

mysql> SELECT * from tblFirst;

আউটপুট:

+------+-------+
| id | name |
+------+-------+
| 1 | John |
| 2 | Bob |
| 3 | David |
+------+-------+
3 rows in set (0.00 sec)

দ্বিতীয় টেবিল তৈরি

mysql> CREATE table UpdTable
-> (
-> IncId int auto_increment,
-> primary key(IncId),
-> id int,
-> name varchar(100)
-> );
Query OK, 0 rows affected (0.57 sec)

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

mysql> INSERT into UpdTable(id,name) values(1,'Taylor');
Query OK, 1 row affected (0.12 sec)
mysql> INSERT into UpdTable(id,name) values(2,'jason');
Query OK, 1 row affected (0.24 sec)
mysql> INSERT into UpdTable(id,name) values(3,'carol');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT into UpdTable(id,name) values(4,'john');
Query OK, 1 row affected (0.16 sec)

সকল রেকর্ড প্রদর্শন

mysql> SELECT * from UpdTable;

আউটপুট:

+-------+------+--------+
| IncId | id | name |
+-------+------+--------+
| 1 | 1 | Taylor |
| 2 | 2 | jason |
| 3 | 3 | carol |
| 4 | 4 | john |
+-------+------+--------+
4 rows in set (0.00 sec)

উপরের আউটপুটে দেখা যাচ্ছে, শেষ নাম প্রথম টেবিলের রেকর্ডের সাথে মিলে যাচ্ছে। এখন আপডেট কোয়েরি লিখব:

mysql> UPDATE UpdTable
-> inner join tblFirst ON (UpdTable.name = tblFirst.name)
-> SET UpdTable.id = tblFirst.id;
Query OK, 1 row affected (0.19 sec)
Rows matched: 1 Changed: 1 Warnings: 0

আমরা শেষ রেকর্ড আপডেট করেছি:

mysql> SELECT * from UpdTable;

আউটপুট:

+-------+------+--------+
| IncId | id | name |
+-------+------+--------+
| 1 | 1 | Taylor |
| 2 | 2 | jason |
| 3 | 3 | carol |
| 4 | 1 | john |
+-------+------+--------+
4 rows in set (0.00 sec)

নমুনা আউটপুট দেখুন। ID যা 4 ছিল, এখন তা 1 হয়ে গেছে।

  1. MySQL-এ ডুপ্লিকেট কলাম ভ্যালু অনুযায়ী অন্য কলামের যোগফল (SUM + GROUP BY)

  2. MySQL-এ ভিন্ন কলাম वाले টেবিলে ডেটা কপি করা (INSERT INTO SELECT)

  3. MySQL-এ UPDATE JOIN ব্যবহার করে অন্য টেবিল থেকে ডেটা আপডেট করা

  4. MySQL-এ INSERT INTO SELECT ব্যবহার করে অন্য টেবিল থেকে ডেটা কপি করা