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

MySQL-এ দুটি টেবিল মার্জ করার পদ্ধতি

দুই টেবিল মার্জ করতে INSERT IGNORE ... SELECT ব্যবহার করুন। এটি ডুপ্লিকেট প্রাইমারি কী বাদ দিয়ে ডেটা কপি করে।

সিনট্যাক্স

INSERT IGNORE INTO টেবিল_১ SELECT * FROM টেবিল_২;

উদাহরণ

টেবিল ১:

mysql> CREATE TABLE MergeDemo1 (
    -> Id INT PRIMARY KEY,
    -> Name VARCHAR(200)
    -> );
mysql> INSERT INTO MergeDemo1 VALUES(1, 'John');

টেবিল ২:

mysql> CREATE TABLE MergeDemo2 (
    -> Id INT PRIMARY KEY,
    -> Name VARCHAR(200)
    -> );
mysql> INSERT INTO MergeDemo2 VALUES(2, 'David');

মার্জ:

mysql> INSERT IGNORE INTO MergeDemo1 SELECT * FROM MergeDemo2;
Query OK, 1 row affected (0.19 sec)
Records: 1 Duplicates: 0 Warnings: 0

ফলাফল:

+----+-------+
| Id | Name  |
+----+-------+
| 1  | John  |
| 2  | David |
+----+-------+
2 rows in set (0.00 sec)

IGNORE থাকায় ডুপ্লিকেট প্রাইমারি কী হলে এরর দেয় না, শুধু সেটি বাদ দিয়ে চলে যায়। কলাম অর্ডার এবং টাইপ মেলা থাকতে হবে।

  1. MySQL-এ টেবিলের সকল কলাম মুছে দিন (DROP TABLE)

  2. MySQL-এ GROUP_CONCAT() দিয়ে রো মার্জ করা (গ্রুপিং)

  3. MySQL-এ JOIN ব্যবহার করে দুটি টেবিলের রেজাল্ট মার্জ করা

  4. পাইথনে দুটি ডিকশনারি মার্জ (Merge) করা