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

MySQL में नेस्टेड INSERT ... SELECT लागू करें

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

सिंटैक्स

INSERT INTO table2(col1, col2, ...)
SELECT col1, col2, ... FROM table1 WHERE condition;

पहली टेबल बनाना और डेटा डालना

mysql> CREATE TABLE DemoTable1 (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Name VARCHAR(40)
);
Query OK, 0 rows affected (0.88 sec)
mysql> INSERT INTO DemoTable1(Name) VALUES('Chris'),('David'),('Bob');

दूसरी टेबल बनाना

mysql> CREATE TABLE DemoTable2 (
    ClientId INT,
    ClientFirstName VARCHAR(20)
);
Query OK, 0 rows affected (0.60 sec)

नेस्टेड INSERT SELECT (आईडी 2 को छोड़कर)

mysql> INSERT INTO DemoTable2(ClientId, ClientFirstName)
SELECT Id, Name FROM DemoTable1 WHERE Id != 2;
Query OK, 2 rows affected (0.17 sec)

दूसरी टेबल देखना

mysql> SELECT * FROM DemoTable2;

आउटपुट:

+----------+-----------------+
| ClientId | ClientFirstName |
+----------+-----------------+
| 1        | Chris           |
| 3        | Bob             |
+----------+-----------------+
2 rows in set (0.00 sec)

नोट: कॉलम क्रम और प्रकार संगत होने चाहिए। AUTO_INCREMENT कॉलम को स्पष्ट रूप से मान प्रदान न करें जब तक कि SET SQL_MODE='NO_AUTO_VALUE_ON_ZERO' सेट न हो।

  1. - MySQL में AUTO_INCREMENT टेबल में INSERT INTO SELECT कैसे करें?

    MySQL में AUTO_INCREMENT प्राइमरी की वाली टेबल में INSERT INTO ... SELECT का उपयोग करते समय, आप स्पष्ट रूप से ID मान प्रदान कर सकते हैं या ऑटो-जनरेट होने दे सकते हैं। दोनों दृष्टिकोण वैध हैं लेकिन अलग व्यवहार करते हैं। उदाहरण: स्पष्ट ID के साथ INSERT INTO SELECT ऑटो-इन्क्रीमेंट टेबल बनाएं: mysql&

  1. - MySQL में INSERT INTO SELECT और UNION के साथ एकाधिक इन्सर्ट कैसे करें?

    MySQL में एक ही स्टेटमेंट में एकाधिक पंक्तियाँ इन्सर्ट करने के लिए, INSERT INTO ... SELECT के साथ UNION ALL (या UNION) का उपयोग करें। यह अलग-अलग INSERT स्टेटमेंट से अधिक कुशल है। सिंटैक्स INSERT INTO table_name (col1, col2, col3) SELECT val1, val2, val3 UNION ALL SELECT val4, val5, val6 UNION ALL S

  1. - MySQL में LPAD और INSERT INTO SELECT का उपयोग करके अग्रणी शून्य के साथ मान डालें

    MySQL में अग्रणी शून्य के साथ क्रमिक ID उत्पन्न करना LPAD() फ़ंक्शन और INSERT INTO SELECT का उपयोग करके आप एक कॉलम में अग्रणी शून्य के साथ स्वरूपित मान (जैसे 001, 002, 003) स्वचालित रूप से उत्पन्न और डाल सकते हैं। टेबल बनाना ); Query OK, 0 rows affected (0.00 sec) LPAD के साथ INSERT INTO SELECT क