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

MySQL-এ INSERT, VALUES ও SELECT একসাথে ব্যবহার (INSERT ... SELECT)

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

সিনট্যাক্স

INSERT INTO `target_table` (`col1`, `col2`, ...)
SELECT `col1`, `col2`, ... FROM `source_table` WHERE `condition`;

উদাহরণ

CREATE TABLE `CombiningInsertValuesSelect` (
    `EmployeeId` VARCHAR(10), `EmployeeName` VARCHAR(100), `EmployeeAge` INT
);
CREATE TABLE `getAllValues` (
    `Id` VARCHAR(100), `Name` VARCHAR(100), `Age` INT
);

INSERT INTO `getAllValues` VALUES
('EMP-1','John',26), ('EMP-2','Carol',22), ('EMP-3','Sam',24),
('EMP-4','David',27), ('EMP-5','Bob',21);

শর্তসাপেক্ষে কপি (শুধু EMP-4)

INSERT INTO `CombiningInsertValuesSelect` (`EmployeeId`, `EmployeeName`, `EmployeeAge`)
SELECT `Id`, `Name`, `Age` FROM `getAllValues` WHERE `Id` = 'EMP-4';

ফলাফল: Target টেবিলে ১টি রো (EMP-4, David, 27) ইনসার্ট হয়।

ব্যবহার ক্ষেত্র: আর্কাইভিং, রিপোর্টিং টেবিল পূরণ, ETL প্রসেসিং।

  1. MySQL-এ UNION ALL এবং INSERT INTO SELECT ব্যবহার করে একক কোয়েরিতে দুটি টেবিলে ডেটা ইনসার্ট করুন

  2. MySQL-এ SELECT কুয়েরি দিয়ে INSERT করা (INSERT ... SELECT)

  3. MySQL-এ LPAD() এবং COALESCE() দিয়ে প্রিসিডিং জিরো সহ আইডি জেনারেট করা

  4. MySQL-এ SELECT এবং SHOW কমান্ডের রেজাল্ট একসাথে কাম্বাইন করা