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

MySQL में दूसरी टेबल के मानों से टेबल कैसे अपडेट करें?

हम INNER JOIN की मदद से दूसरी टेबल को अपडेट कर सकते हैं। आइए दो टेबल बनाकर समझते हैं।

पहली टेबल बनाना (tblFirst)

mysql> CREATE TABLE tblFirst (
    -> id INT,
    -> name VARCHAR(100)
    -> );
Query OK, 0 rows affected (0.48 sec)

रिकॉर्ड डालना

mysql> INSERT INTO tblFirst VALUES (1, 'John');
mysql> INSERT INTO tblFirst VALUES (2, 'Bob');
mysql> INSERT INTO tblFirst VALUES (3, 'David');

सभी रिकॉर्ड देखना

mysql> SELECT * FROM tblFirst;

आउटपुट:

+------+-------+
| id   | name  |
+------+-------+
| 1    | John  |
| 2    | Bob   |
| 3    | David |
+------+-------+

दूसरी टेबल बनाना (UpdTable)

mysql> CREATE TABLE UpdTable (
    -> IncId INT AUTO_INCREMENT,
    -> PRIMARY KEY (IncId),
    -> id INT,
    -> name VARCHAR(100)
    -> );
Query OK, 0 rows affected (0.57 sec)

रिकॉर्ड डालना

mysql> INSERT INTO UpdTable (id, name) VALUES (1, 'Taylor');
mysql> INSERT INTO UpdTable (id, name) VALUES (2, 'Jason');
mysql> INSERT INTO UpdTable (id, name) VALUES (3, 'Carol');
mysql> INSERT INTO UpdTable (id, name) VALUES (4, 'John');

अपडेट क्वेरी (INNER JOIN के साथ)

mysql> UPDATE UpdTable
    -> INNER JOIN tblFirst ON (UpdTable.name = tblFirst.name)
    -> SET UpdTable.id = tblFirst.id;
Query OK, 1 row affected (0.19 sec)

अपडेट के बाद परिणाम

mysql> SELECT * FROM UpdTable;

आउटपुट:

+-------+------+--------+
| IncId | id   | name   |
+-------+------+--------+
| 1     | 1    | Taylor |
| 2     | 2    | Jason  |
| 3     | 3    | Carol  |
| 4     | 1    | John   |  <-- id 4 से 1 हो गया
+-------+------+--------+

नोट: केवल 'John' नाम मिला, इसलिए केवल वही रिकॉर्ड अपडेट हुआ।

  1. - MySQL में अलग कॉलम वाली टेबल में रिकॉर्ड कैसे कॉपी करें?

    MySQL में एक टेबल से दूसरी टेबल में डेटा कॉपी करने के लिए, जब कॉलम नाम या संरचना अलग हो, तो INSERT INTO ... SELECT स्टेटमेंट का उपयोग करें। यह कॉलम मैपिंग को स्पष्ट रूप से परिभाषित करने की अनुमति देता है। उदाहरण: अलग कॉलम नामों के साथ डेटा कॉपी स्रोत टेबल बनाएं (ऑटो-इन्क्रीमेंट प्राइमरी की के साथ)

  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 |