INSERT ... SELECT के साथ टेबल के बीच डेटा कॉपी करना
एक टेबल से डेटा चुनकर सीधे दूसरी टेबल में डालने के लिए INSERT INTO ... SELECT सिंटैक्स का उपयोग करें। यह एक ही क्वेरी में दोनों कार्य करता है।
पहली टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable1(
Value INT
);
Query OK, 0 rows affected (0.65 sec)
mysql> INSERT INTO DemoTable1 VALUES(67); Query OK, 1 row affected (0.18 sec) mysql> INSERT INTO DemoTable1 VALUES(46); Query OK, 1 row affected (0.11 sec)
mysql> SELECT * FROM DemoTable1;
+-------+ | Value | +-------+ | 67 | | 46 | +-------+ 2 rows in set (0.00 sec)
दूसरी टेबल बनाना
mysql> CREATE TABLE DemoTable2(
Score INT
);
Query OK, 0 rows affected (0.70 sec)
पहली टेबल से दूसरी में डेटा कॉपी करना
mysql> INSERT INTO DemoTable2(Score) SELECT Value FROM DemoTable1; Query OK, 2 rows affected (0.13 sec) Records: 2 Duplicates: 0 Warnings: 0
दूसरी टेबल के रिकॉर्ड
mysql> SELECT * FROM DemoTable2;
+-------+ | Score | +-------+ | 67 | | 46 | +-------+ 2 rows in set (0.00 sec)
लाभ: यह एप्लिकेशन लेयर में डेटा लाकर फिर डालने से तेज है क्योंकि डेटा डेटाबेस सर्वर में ही रहता है। कॉलम नाम अलग हो सकते हैं, लेकिन डेटा प्रकार संगत होने चाहिए।