MySQL में INSERT ... SELECT स्टेटमेंट एक ही क्वेरी में एक तालिका से दूसरी तालिका में डेटा कॉपी करने या मानों की गणना करके डालने की अनुमति देता है।
सिंटैक्स
INSERT INTO target_table (col1, col2, col3, ...)
SELECT col1, col2, col3, ... FROM source_table WHERE condition;
उदाहरण: मानों को सीधे चुनकर डालना
तालिका बनाएं:
mysql> CREATE TABLE DemoTable (
-> StudentId INT,
-> StudentName VARCHAR(20),
-> StudentMarks INT
-> );
SELECT के साथ मान डालें:
mysql> INSERT INTO DemoTable(StudentId, StudentName, StudentMarks)
-> SELECT 101, 'John', 45;
mysql> INSERT INTO DemoTable(StudentId, StudentName, StudentMarks)
-> SELECT 102, 'Adam', 76;
mysql> INSERT INTO DemoTable(StudentId, StudentName, StudentMarks)
-> SELECT 103, 'Bob', 67;
परिणाम
+-----------+-------------+--------------+
| StudentId | StudentName | StudentMarks |
+-----------+-------------+--------------+
| 101 | John | 45 |
| 102 | Adam | 76 |
| 103 | Bob | 67 |
+-----------+-------------+--------------+
उपयोग केस
- एक तालिका से दूसरी में डेटा कॉपी करना
- क्वेरी परिणामों को संग्रहीत करना
- बैच इन्सर्ट ऑपरेशन
- डेटा परिवर्तन के साथ इन्सर्ट करना
नोट: कॉलम की संख्या और डेटा प्रकार INSERT और SELECT दोनों में मेल खाने चाहिए।