MySQL में INSERT INTO SELECT DISTINCT के साथ डुप्लिकेट-मुक्त डेटा कॉपी करना
INSERT INTO ... SELECT DISTINCT का उपयोग करके एक तालिका से दूसरी तालिका में केवल विशिष्ट (डुप्लिकेट-मुक्त) मान कॉपी किए जा सकते हैं।
व्यावहारिक उदाहरण
स्रोत तालिका बनाना (DemoTable1)
mysql> CREATE TABLE DemoTable1 (
Value INT
);
डुप्लिकेट मान डालना
mysql> INSERT INTO DemoTable1 VALUES(50); mysql> INSERT INTO DemoTable1 VALUES(10); mysql> INSERT INTO DemoTable1 VALUES(10); mysql> INSERT INTO DemoTable1 VALUES(60); mysql> INSERT INTO DemoTable1 VALUES(50); mysql> INSERT INTO DemoTable1 VALUES(70); mysql> INSERT INTO DemoTable1 VALUES(50);
स्रोत तालिका देखना
mysql> SELECT * FROM DemoTable1;
आउटपुट:
+-------+ | Value | +-------+ | 50 | | 10 | | 10 | | 60 | | 50 | | 70 | | 50 | +-------+
लक्ष्य तालिका बनाना (DemoTable2)
mysql> CREATE TABLE DemoTable2 (
Marks INT
);
विशिष्ट मान कॉपी करने के लिए क्वेरी
mysql> INSERT INTO DemoTable2(Marks) SELECT DISTINCT Value FROM DemoTable1;
आउटपुट: Query OK, 4 rows affected (Records: 4 Duplicates: 0 Warnings: 0)
लक्ष्य तालिका देखना
mysql> SELECT * FROM DemoTable2;
आउटपुट:
+-------+ | Marks | +-------+ | 50 | | 10 | | 60 | | 70 | +-------+
मुख्य बिंदु
DISTINCTस्रोत तालिका में डुप्लिकेट को हटा देता है- केवल 4 विशिष्ट मान कॉपी हुए: 50, 10, 60, 70
- लक्ष्य तालिका में UNIQUE कंस्ट्रेंट नहीं है, लेकिन DISTINCT डुप्लिकेट रोकता है
संबंधित ऑपरेशन