MySQL में एक टेबल से दूसरी टेबल में डेटा कॉपी करने के लिए INSERT INTO ... SELECT सिंटैक्स का उपयोग किया जाता है। कॉलम सूची निर्दिष्ट करना त्रुटियों से बचाता है।
स्रोत टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable1 (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstName VARCHAR(100)
);
mysql> INSERT INTO DemoTable1(FirstName) VALUES('John'), ('Chris');
लक्ष्य टेबल बनाना
mysql> CREATE TABLE DemoTable2 (
CustomerId INT,
CustomerName VARCHAR(100)
);
INSERT INTO SELECT से डेटा कॉपी करना
mysql> INSERT INTO DemoTable2(CustomerId, CustomerName)
-> SELECT Id, FirstName FROM DemoTable1;
आउटपुट
Query OK, 2 rows affected (0.17 sec) Records: 2 Duplicates: 0 Warnings: 0
लक्ष्य टेबल जांचना
mysql> SELECT * FROM DemoTable2;
आउटपुट
+------------+--------------+ | CustomerId | CustomerName | +------------+--------------+ | 1 | John | | 2 | Chris | +------------+--------------+
मुख्य बिंदु: कॉलम सूची (CustomerId, CustomerName) और SELECT सूची (Id, FirstName) क्रम और संख्या में मेल खानी चाहिए। VALUES() क्लॉज़ उपयोग न करें। WHERE क्लॉज़ जोड़कर फ़िल्टर कर सकते हैं।