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

MySQL-এ INSERT INTO SELECT ব্যবহার করে অন্য টেবিল থেকে স্ট্রিং মান নিয়ে রো যোগ করা

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

উদাহরণ

সোর্স টেবিল (demo61):

CREATE TABLE demo61 (id INT, name VARCHAR(20));
INSERT INTO demo61 VALUES (1, 'John'), (2, 'David'), (1, 'Mike'), (2, 'Carol'), (2, 'Bob');

ডেটা:

+------+-------+
| id   | name  |
+------+-------+
| 1    | John  |
| 2    | David |
| 1    | Mike  |
| 2    | Carol |
| 2    | Bob   |
+------+-------+

ডেস্টিনেশন টেবিল (demo62):

CREATE TABLE demo62 (
    employee_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    employee_name VARCHAR(20)
);

কোয়েরি

demo61-এ id = 2 হলে name কলামগুলো demo62-এ ইনসার্ট:

INSERT INTO demo62(employee_name)
SELECT name FROM demo61 WHERE id = 2;

আউটপুট

+-------------+---------------+
| employee_id | employee_name |
+-------------+---------------+
| 1           | David         |
| 2           | Carol         |
| 3           | Bob           |
+-------------+---------------+

ব্যাখ্যা:

  • employee_id অটো ইনক্রিমেন্ট, তাই মান দিতে হয়নি।
  • SELECT কোয়েরি ৩টি রো রিটার্ন করে, তাই ৩টি রো ইনসার্ট হয়েছে।
  • কলাম নাম মিল না হলে (name vs employee_name) এক্সপ্লিসিট কলাম লিস্ট দিয়ে ম্যাপ করা হয়েছে।

বিকল্প: INSERT INTO demo62 SELECT NULL, name FROM demo61 WHERE id=2 (যদি কলাম অর্ডার মিলে থাকে)।

  1. MySQL-এ INSERT INTO SELECT ব্যবহার করে এক টেবিল থেকে অন্য টেবিলে রো কপি করা

  2. MySQL-এ INSERT INTO SELECT ব্যবহার করে অন্য টেবিল থেকে ডেটা কপি করা

  3. MySQL-এ JOIN ব্যবহার করে অন্য টেবিল থেকে ID দিয়ে Username বের করা

  4. MySQL-এ একটি টেবিল থেকে অন্য টেবিলে ডেটা ইনসার্ট করা