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

MySQL में INSERT INTO SELECT से एक टेबल से दूसरी टेबल में पंक्तियाँ कॉपी करें

INSERT INTO ... SELECT स्टेटमेंट का उपयोग करके एक टेबल से दूसरी टेबल में पंक्तियाँ कॉपी करें (शर्त के साथ)।

स्रोत टेबल

mysql> CREATE TABLE DemoTable1879 (Id INT, Name VARCHAR(20));
mysql> INSERT INTO DemoTable1879 VALUES(101, 'Chris Brown'), (102, 'David Miller'), (103, 'Adam Smith');

लक्ष्य टेबल

mysql> CREATE TABLE DemoTable1880 (ClientId INT, ClientName VARCHAR(20));

चुनिंदा पंक्तियाँ कॉपी करें

mysql> INSERT INTO DemoTable1880(ClientId, ClientName)
    SELECT Id, Name FROM DemoTable1879 WHERE Id IN (101, 103);

परिणाम

+----------+-------------+
| ClientId | ClientName  |
+----------+-------------+
|      101 | Chris Brown |
|      103 | Adam Smith  |
+----------+-------------+

सिंटैक्स विविधताएं

पैटर्नउदाहरण
सभी कॉलम, सभी पंक्तियाँINSERT INTO target SELECT * FROM source
निर्दिष्ट कॉलमINSERT INTO target(c1,c2) SELECT c1,c2 FROM source
कॉलम मैपिंगINSERT INTO target(a,b) SELECT x,y FROM source
स्थिर मान + कॉलमINSERT INTO target(a,b,c) SELECT x,y,'fixed' FROM source
अभिव्यक्तिINSERT INTO target(a,b) SELECT x, UPPER(y) FROM source

महत्वपूर्ण नोट्स

  • कॉलम संख्या और क्रम मेल खाना चाहिए (नाम नहीं, स्थिति)।
  • डेटा प्रकार संगत होने चाहिए।
  • AUTO_INCREMENT कॉलम में NULL या 0 डालें या कॉलम सूची से बाहर रखें।
  • बड़े कॉपी के लिए बैच/चंक में करें।

टेबल बनाते समय कॉपी (CREATE TABLE ... AS SELECT)

CREATE TABLE NewTable AS SELECT * FROM DemoTable1879 WHERE Id IN (101, 103);

यह नई टेबल बनाता है (इंडेक्स, PK, AUTO_INCREMENT कॉपी नहीं होते)।

  1. - MySQL में एक टेबल से दूसरी नई टेबल में डेटा कॉपी करने का सबसे सरल तरीका?

    एक टेबल से दूसरी टेबल में डेटा कॉपी करने के लिए INSERT INTO ... SELECT स्टेटमेंट का उपयोग करें। चरण 1: स्रोत टेबल बनाएं और डेटा डालें INSERT INTO FirstTable VALUES (1, John), (2, Smith); चरण 2: लक्ष्य टेबल बनाएं ); चरण 3: डेटा कॉपी करें SELECT id, name FROM FirstTable; Query OK, 2 rows affecte

  1. - एक MySQL डेटाबेस से दूसरे में टेबल कैसे कॉपी करें

    एक डेटाबेस से दूसरे में टेबल कॉपी करने का निम्नलिखित सिंटैक्स है। INSERT INTO yourDestinationDatabaseName.yourTableName SELECT * from yourSourceDatabaseName.yourtableName; आइए एक उदाहरण देखते हैं। CREATE कमांड का उपयोग business डेटाबेस में एक टेबल बनाने के लिए किया जाता है। हम यहां एक नई टेबल बना र

  1. MySQL से अंतिम 10 रो कैसे चुनें? MySQL से अंतिम 10 रो कैसे चुनें?

    MySQL से अंतिम 10 रो चुनने के लिए, हम SELECT स्टेटमेंट और LIMIT कॉन्सेप्ट के साथ सबक्वेरी का उपयोग कर सकते हैं। निम्न एक उदाहरण है। टेबल बनाना। mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.75 sec) टेबल में रिकॉर