MySQL-এ এক টেবিল থেকে ডেটা সিলেক্ট করে অন্য টেবিলে ইনসার্ট করতে INSERT ... SELECT সিনট্যাক্স ব্যবহার করুন। এতে VALUES ক্লজ লাগে না।
সিনট্যাক্স
INSERT INTO `target_table` (`col1`, `col2`, ...)
SELECT `col1`, `col2`, ... FROM `source_table` WHERE `condition`;
উদাহরণ: দুটি টেবিল
CREATE TABLE `FirstTableDemo` (
`StudentId` INT, `StudentName` VARCHAR(100)
);
CREATE TABLE `SecondTableDemo` (
`Id` INT, `Name` VARCHAR(100)
);
INSERT INTO `SecondTableDemo` VALUES (1, 'John'), (2, 'Sam');
SecondTableDemo থেকে FirstTableDemo-এ কপি (ডুপ্লিকেট এড়িয়ে)
INSERT INTO `FirstTableDemo` (`StudentId`, `StudentName`)
SELECT `Id`, `Name` FROM `SecondTableDemo` AS `tbl1`
WHERE `tbl1`.`Id` NOT IN (SELECT `StudentId` FROM `FirstTableDemo`);
ফলাফল: FirstTableDemo-এ ২টি রো ইনসার্ট হয়।
সুবিধা: অ্যাপ্লিকেশন লেয়ারে ডেটা আনতে হয় না, ডেটাবেস লেভেলেই দ্রুত কপি হয়।