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

MySQL-এ INSERT INTO SELECT DISTINCT দিয়ে অন্য টেবিল থেকে স্বতর্ক রেকর্ড কপি করা


DISTINCT + INSERT INTO SELECT দিয়ে ডুপ্লিকেট বাদ দিয়ে কপি

MySQL-এ একটি টেবিল থেকে অন্য টেবিলে ডেটা কপি করার সময় DISTINCT ব্যবহার করে ডুপ্লিকেট মান বাদ দেওয়া যায়।

সোর্স টেবিল (DemoTable1) - ডুপ্লিকেটসহ

mysql> CREATE TABLE DemoTable1 (Value INT);
mysql> INSERT INTO DemoTable1 VALUES(50), (10), (10), (60), (50), (70), (50);
+-------+
| Value |
+-------+
| 50    |
| 10    |
| 10    |
| 60    |
| 50    |
| 70    |
| 50    |
+-------+

ডেস্টিনেশন টেবিল তৈরি

mysql> CREATE TABLE DemoTable2 (Marks INT);

DISTINCT দিয়ে কপি

mysql> INSERT INTO DemoTable2(Marks) SELECT DISTINCT Value FROM DemoTable1;
Query OK, 4 rows affected (0.18 sec) Records: 4 Duplicates: 0 Warnings: 0

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

+-------+
| Marks |
+-------+
| 50    |
| 10    |
| 60    |
| 70    |
+-------+

ব্যাখ্যা

  • SELECT DISTINCT Value — শুধু স্বতর্ক (unique) মান নির্বাচন করে।
  • INSERT INTO DemoTable2(Marks) ... — নির্বাচিত মানগুলো DemoTable2-এ ইনসার্ট করে।
  • Duplicates: 0 — কোনো ডুপ্লিকেট ইনসার্ট হয়নি।

নোট

  • যদি DemoTable2-এ UNIQUE কনস্ট্রেইন্ট থাকে, INSERT IGNORE বা ON DUPLICATE KEY UPDATE ব্যবহার করুন।
  • CREATE TABLE DemoTable2 AS SELECT DISTINCT Value FROM DemoTable1; দিয়ে সরাসরি টেবিল তৈরি ও কপি করা যায়।
  1. MySQL에서 한 테이블의 데이터를 다른 테이블로 복사하기 (INSERT INTO SELECT)

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

  3. MySQL-এ একাধিক টেবিল থেকে ডেটা নিয়ে একটি টেবিলে ইনসার্ট করা (CROSS JOIN)

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