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

दो MySQL टेबल को कैसे मर्ज करें?


INSERT IGNORE ... SELECT से दो टेबल मर्ज करें

दो टेबल को मर्ज करने के लिए (दूसरे से पहले में डेटा कॉपी करना, डुप्लिकेट से बचते हुए), INSERT IGNORE INTO ... SELECT का उपयोग करें।

सिंटैक्स

INSERT IGNORE INTO टेबल_लक्ष्य SELECT * FROM टेबल_स्रोत;

उदाहरण

1. पहली टेबल बनाएं और डेटा डालें

mysql> CREATE TABLE MergeDemo1 (
    -> id INT PRIMARY KEY,
    -> Name VARCHAR(200)
    -> );
mysql> INSERT INTO MergeDemo1 VALUES(1, 'John');

2. दूसरी टेबल बनाएं और डेटा डालें

mysql> CREATE TABLE MergeDemo2 (
    -> id INT PRIMARY KEY,
    -> Name VARCHAR(200)
    -> );
mysql> INSERT INTO MergeDemo2 VALUES(2, 'David');

3. मर्ज करें (MergeDemo2 → MergeDemo1)

mysql> INSERT IGNORE INTO MergeDemo1 SELECT * FROM MergeDemo2;

4. परिणाम सत्यापित करें

mysql> SELECT * FROM MergeDemo1;
+----+-------+
| id | Name  |
+----+-------+
| 1  | John  |
| 2  | David |
+----+-------+

महत्वपूर्ण बिंदु

  • INSERT IGNORE: डुप्लिकेट की त्रुटियों को चेतावनी में बदल देता है और जारी रखता है
  • कॉलम क्रम/संख्या मेल खाना चाहिए: SELECT सूची लक्ष्य टेबल कॉलम से मेल खानी चाहिए
  • प्राइमरी/यूनिक की डुप्लिकेट निर्धारित करती है

वैकल्पिक: ON DUPLICATE KEY UPDATE

यदि डुप्लिकेट पर अपडेट करना चाहते हैं:

INSERT INTO MergeDemo1 SELECT * FROM MergeDemo2
ON DUPLICATE KEY UPDATE Name = VALUES(Name);

अन्य मर्ज परिदृश्य

  • कॉलम सबसेट: INSERT INTO t1 (a,b) SELECT a,b FROM t2
  • शर्तों के साथ: INSERT INTO t1 SELECT * FROM t2 WHERE condition
  • अलग कॉलम नाम: INSERT INTO t1 (col1) SELECT col2 FROM t2
  • बड़े डेटा: बैच में करें या LOAD DATA उपयोग करें
  1. - MySQL में GROUP_CONCAT() का उपयोग करके डुप्लिकेट पंक्तियों को मर्ज करना

    MySQL में किसी कॉलम के डुप्लिकेट मानों वाली पंक्तियों को समूहित करके, दूसरे कॉलम के मानों को अल्पविराम से अलग करके एकल पंक्ति में मर्ज करने के लिए GROUP_CONCAT() फ़ंक्शन का उपयोग करें। सिंटैक्स SELECT group_column, GROUP_CONCAT(DISTINCT other_column SEPARATOR ,) FROM table_name GROUP BY group_col

  1. - MySQL में परिणाम समूहित करें और सूची में दिखाएं

    समाधान GROUP BY के साथ ORDER BY का उपयोग करके गणना और क्रमबद्ध करें। सिंटैक्स SELECT yourColumnName, COUNT(*) AS aliasName FROM yourTableName GROUP BY yourColumnName ORDER BY yourColumnName; उदाहरण टेबल बनाएं: INSERT INTO demo7 (first_name) VALUES (John), (David), (John), (Bob), (David), (David),

  1. - दो पायथन डिक्शनरी को कैसे मर्ज करें?

    पायथन 3.5+ में, आप डिक्शनरी को अनपैक करने और मल्टीपल डिक्शनरी को संयोजित करने के लिए ** ऑपरेटर का उपयोग कर सकते हैं: a = {foo: 125} b = {bar: hello} c = {**a, **b} print(c) यह आउटपुट देगा: {foo: 125, bar: hello} यह पुराने वर्जन में समर्थित नहीं है। आप इसे निम्न समान सिंटैक्स का उपयोग करके बदल सकते