INSERT ... SELECT स्टेटमेंट का उपयोग
MySQL में आप एक टेबल से डेटा चुनकर सीधे दूसरी टेबल में डाल सकते हैं, बिना VALUES क्लॉज के।
सिंटैक्स
INSERT INTO targetTable (col1, col2, ...) SELECT col1, col2, ... FROM sourceTable WHERE condition;
उदाहरण
mysql> CREATE TABLE FirstTableDemo (StudentId INT, StudentName VARCHAR(100)); mysql> CREATE TABLE SecondTableDemo (Id INT, Name VARCHAR(100)); mysql> INSERT INTO SecondTableDemo VALUES (1,'John'), (2,'Sam');
दूसरी टेबल से पहली में डेटा कॉपी करें (डुप्लिकेट से बचने के लिए शर्त के साथ):
mysql> INSERT INTO FirstTableDemo (StudentId, StudentName)
-> SELECT Id, Name FROM SecondTableDemo AS tbl1
-> WHERE tbl1.Id NOT IN (SELECT StudentId FROM FirstTableDemo);
परिणाम:
mysql> SELECT * FROM FirstTableDemo;
+-----------+-------------+ | StudentId | StudentName | +-----------+-------------+ | 1 | John | | 2 | Sam | +-----------+-------------+
लाभ: यह एक ही स्टेटमेंट में डेटा ट्रांसफर करता है, एप्लिकेशन लेयर में लूप की आवश्यकता नहीं होती।