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

MySQL में JOIN के साथ UPDATE का उपयोग करके मिलान ID पर कॉलम मान कॉपी करना

MySQL में मल्टी-टेबल UPDATE के साथ मिलान ID पर डेटा कॉपी करना

MySQL में UPDATE स्टेटमेंट में एकाधिक तालिकाओं को जोड़कर (JOIN सिंटैक्स के साथ) एक तालिका से दूसरी तालिका में मिलान ID के आधार पर मान कॉपी किए जा सकते हैं।

व्यावहारिक उदाहरण

स्रोत तालिका बनाना (DemoTable1)

mysql> CREATE TABLE DemoTable1 (
    PersonId INT,
    Value INT
);

स्रोत डेटा डालना

mysql> INSERT INTO DemoTable1 VALUES(100, 78);
mysql> INSERT INTO DemoTable1 VALUES(101, 67);
mysql> INSERT INTO DemoTable1 VALUES(102, 89);

लक्ष्य तालिका बनाना (DemoTable2)

mysql> CREATE TABLE DemoTable2 (
    StudentId INT,
    StudentScore INT
);

लक्ष्य डेटा डालना (NULL स्कोर के साथ)

mysql> INSERT INTO DemoTable2 VALUES(100, NULL);
mysql> INSERT INTO DemoTable2 VALUES(102, NULL);

कॉपी करने से पहले देखना

mysql> SELECT * FROM DemoTable2;

आउटपुट:

+-----------+--------------+
| StudentId | StudentScore |
+-----------+--------------+
| 100       | NULL         |
| 102       | NULL         |
+-----------+--------------+

मिलान ID पर मान कॉपी करने के लिए UPDATE JOIN

mysql> UPDATE DemoTable1, DemoTable2 
SET DemoTable2.StudentScore = DemoTable1.Value 
WHERE DemoTable2.StudentId = DemoTable1.PersonId;

आउटपुट: Query OK, 2 rows affected

कॉपी करने के बाद देखना

mysql> SELECT * FROM DemoTable2;

आउटपुट:

+-----------+--------------+
| StudentId | StudentScore |
+-----------+--------------+
| 100       | 78           |
| 102       | 89           |
+-----------+--------------+

आधुनिक JOIN सिंटैक्स (अनुशंसित)


            
  1. - MySQL में UPDATE JOIN से दूसरी टेबल के डेटा से पहली टेबल अपडेट करें

    UPDATE ... JOIN सिंटैक्स UPDATE targetTable tbl1 JOIN sourceTable tbl2 ON tbl1.commonCol = tbl2.commonCol SET tbl1.targetCol = tbl2.sourceCol; उदाहरण स्रोत टेबल (demo54): पूरा डेटा insert into demo54 values(John,Smith), (John,Smith), (David,Smith); लक्ष्य टेबल (demo55): lastName NULL insert int

  1. - MySQL में INSERT INTO SELECT से दूसरी टेबल के मान लेकर नई टेबल भरें

    सिंटैक्स insert into targetTable(col1, col2) select sourceCol1, sourceCol2 from sourceTable where condition; उदाहरण insert into demo83(id,username) select id,name from demo82 where id=101; परिणाम +------+----------+ | id | username | +------+----------+ | 101 | Bob | | 101 | David |

  1. - MySQL में एक टेबल से दूसरी टेबल में डेटा सम्मिलित करना

    परिचय MySQL में INSERT INTO ... SELECT स्टेटमेंट का उपयोग करके एक टेबल से डेटा चुनकर दूसरी टेबल में सम्मिलित किया जा सकता है। पहली टेबल निर्माण और डेटा select * from DemoTable1; +------+-----------+ | Id | FirstName | +------+-----------+ | 101 | Adam | | 102 | John | +------+-------