Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में INSERT INTO SELECT से एक टेबल से दूसरी में डेटा कॉपी करें

MySQL का INSERT INTO ... SELECT स्टेटमेंट एक क्वेरी में एक टेबल से डेटा चुनकर दूसरी टेबल में डालता है।

सिंटैक्स

INSERT INTO लक्ष्य_टेबल (कॉलम1, कॉलम2, ...)
SELECT कॉलम1, कॉलम2, ...
FROM स्रोत_टेबल
WHERE शर्त;

उदाहरण: NULL रहित रिकॉर्ड कॉपी करना

1. स्रोत टेबल बनाएं

mysql> CREATE TABLE DemoTable1 (
    -> Id INT,
    -> FirstName VARCHAR(20)
    -> );

2. डेटा डालें (कुछ NULL के साथ)

mysql> INSERT INTO DemoTable1 VALUES(101, 'Chris');
mysql> INSERT INTO DemoTable1 VALUES(NULL, 'Bob');
mysql> INSERT INTO DemoTable1 VALUES(NULL, NULL);
mysql> INSERT INTO DemoTable1 VALUES(102, 'David');

3. लक्ष्य टेबल बनाएं

mysql> CREATE TABLE DemoTable2 (
    -> StudentId INT,
    -> StudentName VARCHAR(20)
    -> );

4. शर्त के साथ कॉपी करें

mysql> INSERT INTO DemoTable2
    -> SELECT Id, FirstName FROM DemoTable1
    -> WHERE Id IS NOT NULL AND FirstName IS NOT NULL;
Query OK, 2 rows affected

5. परिणाम देखें

mysql> SELECT * FROM DemoTable2;
+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 101       | Chris       |
| 102       | David       |
+-----------+-------------+

मुख्य बिंदु

  • कॉलम क्रम और प्रकार संगत होने चाहिए
  • WHERE क्लॉज से फ़िल्टर कर सकते हैं
  • UNION ALL से एकाधिक SELECT संयोजित कर सकते हैं
  • आइडेंटिटी कॉलम (AUTO_INCREMENT) में स्पष्ट मान न दें

उन्नत उपयोग

-- परिवर्तन के साथ कॉपी
INSERT INTO target (name, upper_name)
SELECT name, UPPER(name) FROM source;

-- एकाधिक स्रोत से
INSERT INTO target (name)
SELECT name FROM source1
UNION ALL
SELECT name FROM source2;
  1. Java का उपयोग करके MySQL टेबल में रिकॉर्ड डालें Java का उपयोग करके MySQL टेबल में रिकॉर्ड डालें

    JDBC Statement या PreparedStatement का उपयोग करके Java एप्लिकेशन से MySQL में रिकॉर्ड डालें। टेबल बनाना CREATE TABLE DemoTable( Id INT, Name VARCHAR(30), CountryName VARCHAR(30), Age INT ); Query OK, 0 rows affected (0.66 sec) Java कोड (Statement) 0) { System.out.

  1. - MySQL में INSERT ... SELECT क्वेरी का उपयोग कैसे करें?

    MySQL में INSERT ... SELECT स्टेटमेंट एक ही क्वेरी में एक तालिका से दूसरी तालिका में डेटा कॉपी करने या मानों की गणना करके डालने की अनुमति देता है। सिंटैक्स INSERT INTO target_table (col1, col2, col3, ...) SELECT col1, col2, col3, ... FROM source_table WHERE condition; उदाहरण: मानों को सीधे चुनकर ड

  1. - Node.js से MySQL रिकॉर्ड अपडेट करना

    Node.js से MySQL टेबल मान डायनामिक रूप से अपडेट करना। अपडेट के बाद SELECT से सत्यापित कर सकते हैं। पूर्वापेक्षा mkdir mysql-test cd mysql-test npm init -y npm install mysql रिकॉर्ड अपडेट करना (Students टेबल) app.js फ़ाइल बनाएं। नीचे दिया कोड पेस्ट करें। node app.js चलाएं। उदाहरण 1: नाम के आधार