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

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

MySQL-এ একটি টেবিল থেকে ডেটা সিলেক্ট করে সরাসরি অন্য টেবিলে ইনসার্ট করতে INSERT INTO ... SELECT স্টেটমেন্ট ব্যবহার করা হয়।

উদাহরণ

সোর্স টেবিল (demo82):

CREATE TABLE demo82 (id INT, name VARCHAR(20));
INSERT INTO demo82 VALUES (100, 'John'), (101, 'Bob'), (101, 'David'), (101, 'Mike'), (100, 'Sam');

ডেটা:

+------+-------+
| id   | name  |
+------+-------+
| 100  | John  |
| 101  | Bob   |
| 101  | David |
| 101  | Mike  |
| 100  | Sam   |
+------+-------+

ডেস্টিনেশন টেবিল (demo83):

CREATE TABLE demo83 (id INT, username VARCHAR(20));

কোয়েরি

demo82-এ id=101 হলে name কলামগুলো demo83-এ কপি:

INSERT INTO demo83(id, username) 
SELECT id, name FROM demo82 WHERE id = 101;

আউটপুট (demo83)

+------+----------+
| id   | username |
+------+----------+
| 101  | Bob      |
| 101  | David    |
| 101  | Mike     |
+------+----------+

ব্যাখ্যা:

  • INSERT INTO demo83(id, username) - টার্গেট কলামগুলো স্পেসিফাই করা হয়েছে।
  • SELECT id, name FROM demo82 WHERE id = 101 - সোর্স ডেটা (৩ রো)।
  • কলাম অর্ডার ও টাইপ মিলতে হয়।
  • AUTO_INCREMENT কলাম থাকলে সেটি এড়িয়ে যেতে পারে (NULL বা DEFAULT দিয়ে)।

ব্যবহার ক্ষেত্র: আর্কাইভিং, রিপোর্টিং টেবিল পূরণ, ডেটা মাইগ্রেশন, ব্যাকআপ ইত্যাদি।

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

  2. MySQL টেবিলে JSON ডেটা ইনসার্ট করার পদ্ধতি

  3. MySQL-এ INSERT INTO SELECT ব্যবহার করে অন্য টেবিল থেকে স্ট্রিং মান নিয়ে রো যোগ করা

  4. MySQL-এ একটি টেবিল থেকে অন্য টেবিলে ডেটা ইনসার্ট করা