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

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

MySQL-এ INSERT ... SELECT সিনট্যাক্স ব্যবহার করে একটি কুয়েরির ফলাফল সরাসরি টেবিলে ইনসার্ট করা যায়। এটি ডেটা কপি বা ট্রান্সফরমেশনের জন্য খুব কার্যকর।

সিনট্যাক্স

INSERT INTO yourTableName(col1, col2, col3, ...)
SELECT val1, val2, val3, ...;

উদাহরণ

CREATE TABLE DemoTable1603 (
    StudentId INT,
    StudentName VARCHAR(20),
    StudentMarks INT
);

INSERT INTO DemoTable1603(StudentId, StudentName, StudentMarks) SELECT 101, 'John', 45;
INSERT INTO DemoTable1603(StudentId, StudentName, StudentMarks) SELECT 102, 'Adam', 76;
INSERT INTO DemoTable1603(StudentId, StudentName, StudentMarks) SELECT 103, 'Bob', 67;

ফলাফল

SELECT * FROM DemoTable1603;
+-----------+-------------+--------------+
| StudentId | StudentName | StudentMarks |
+-----------+-------------+--------------+
| 101       | John        | 45           |
| 102       | Adam        | 76           |
| 103       | Bob         | 67           |
+-----------+-------------+--------------+

ব্যবহারিক পরিস্থিতি

আরও জটিল কেসে অন্য টেবিল থেকে ডেটা কপি করা যায়:

INSERT INTO archive_table SELECT * FROM main_table WHERE created_at < '2023-01-01';

এটি ব্যাকআপ, আর্কাইভিং বা রিপোর্টিং টেবিল পূরণের জন্য আদর্শ।

  1. MySQL-এ ORDER BY Amount=0, Amount দিয়ে শূন্য মানগুলো শেষে পাঠানো

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

  3. MySQL-এ REGEXP ব্যবহার করে রেগুলার এক্সপ্রেশন ভিত্তিক সিলেক্ট কোয়েরি করুন

  4. MySQL-এ AUTO_INCREMENT টেবিলে INSERT INTO SELECT ব্যবহার করা