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 লুপ)