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

MySQL-এ INSERT INTO SELECT দিয়ে এক টেবিল থেকে অন্য টেবিলে সকল রো কপি

MySQL-এ এক টেবিলের সকল রো অন্য টেবিলে কপি করতে INSERT INTO ... SELECT ব্যবহার করুন।

সিনট্যাক্স

INSERT INTO টেবিল২ (কলাম১, কলাম২, ...)
SELECT কলাম১, কলাম২, ... FROM টেবিল১;

উদাহরণ

mysql> CREATE TABLE DemoTable1 (FirstName VARCHAR(100));
Query OK, 0 rows affected (1.11 sec)

mysql> INSERT INTO DemoTable1 VALUES ('John'), ('Chris'), ('Bob');
Query OK, 3 rows affected

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

mysql> CREATE TABLE DemoTable2 (EmployeeName VARCHAR(100));
Query OK, 0 rows affected (0.78 sec)

কপি করা

mysql> INSERT INTO DemoTable2 (EmployeeName) SELECT FirstName FROM DemoTable1;
Query OK, 3 rows affected (0.52 sec)

ফলাফল যাচাই

mysql> SELECT * FROM DemoTable2;
+--------------+
| EmployeeName |
+--------------+
| John         |
| Chris        |
| Bob          |
+--------------+

টিপস ও ভেরিয়েশন

  • কলাম নাম ভিন্ন হলে: INSERT INTO t2 (colA) SELECT colB FROM t1
  • শর্তসাপেক্ষ কপি: INSERT INTO t2 SELECT * FROM t1 WHERE status = 'active'
  • CREATE TABLE t2 AS SELECT * FROM t1 — টেবিল স্ট্রাকচার+ডেটা একসাথে (নো ইনডেক্স/কনস্ট্রেইন্ট)
  • INSERT IGNORE INTO ... SELECT — ডুপ্লিকেট এড়াতে
  • বড় টেবিলে চাঙ্কে কপি করুন (LIMIT + OFFSET লুপ)
  1. MySQL-এ JOIN দিয়ে অন্য টেবিলের কলাম ভিত্তিক আপডেট করা

  2. MySQL-এ একটি টেবিল থেকে অন্য টেবিলে সকল রেকর্ড কপি করা (CREATE TABLE AS SELECT)

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

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