MySQL-এ INSERT ... SELECT সিনট্যাক্স ব্যবহার করে এক টেবিল থেকে ডেটা বের করে সরাসরি অন্য টেবিলে ঢুকানো যায়। এটি ডেটা মাইগ্রেশন বা কপি করার জন্য খুব কাজে লাগে।
প্রথম টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> CREATE TABLE DemoTable1 (
-> StudentId INT,
-> StudentName VARCHAR(20)
-> );
Query OK, 0 rows affected (0.64 sec)
mysql> INSERT INTO DemoTable1 VALUES(10, 'John');
mysql> INSERT INTO DemoTable1 VALUES(11, 'Chris');
দ্বিতীয় টেবিল তৈরি
mysql> CREATE TABLE DemoTable2 (
-> CustomerId INT,
-> CustomerName VARCHAR(100)
-> );
Query OK, 0 rows affected (0.82 sec)
SELECT করে INSERT
mysql> INSERT INTO DemoTable2(CustomerId, CustomerName)
-> SELECT StudentId, StudentName FROM DemoTable1 WHERE StudentId = 11;
Query OK, 1 row affected (0.20 sec)
দ্বিতীয় টেবিল চেক
+------------+--------------+ | CustomerId | CustomerName | +------------+--------------+ | 11 | Chris | +------------+--------------+
লाभ: আলাদা করে SELECT করে আনার बाद INSERT করার প্রয়োজন নেই। একই কোয়েরিতে দুটো কাজ হয়।