MySQL में CONCAT() फ़ंक्शन का उपयोग करके आप एक तालिका से डेटा पढ़कर दूसरी तालिका में गणना किए गए मानों के साथ डाल सकते हैं। यह डेटा ट्रांसफॉर्मेशन और माइग्रेशन कार्यों के लिए उपयोगी है।
पहली तालिका बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable (
StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentFirstName VARCHAR(20)
);
mysql> INSERT INTO DemoTable (StudentFirstName) VALUES ('John');
mysql> INSERT INTO DemoTable (StudentFirstName) VALUES ('Larry');
mysql> INSERT INTO DemoTable (StudentFirstName) VALUES ('Bob');
पहली तालिका का डेटा देखना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+-----------+------------------+ | StudentId | StudentFirstName | +-----------+------------------+ | 1 | John | | 2 | Larry | | 3 | Bob | +-----------+------------------+
दूसरी तालिका बनाना
mysql> CREATE TABLE DemoTable2 (
ClientId INT,
ClientProjectName VARCHAR(20)
);
CONCAT() के साथ जटिल INSERT करना
mysql> INSERT INTO DemoTable2
-> SELECT StudentId, CONCAT('Web Student=', StudentId)
-> FROM DemoTable;
आउटपुट: Query OK, 3 rows affected (0.17 sec)
दूसरी तालिका का परिणाम देखना
mysql> SELECT * FROM DemoTable2;
आउटपुट:
+----------+-------------------+ | ClientId | ClientProjectName | +----------+-------------------+ | 1 | Web Student=1 | | 2 | Web Student=2 | | 3 | Web Student=3 | +----------+-------------------+
व्याख्या: INSERT ... SELECT सिंटैक्स एक ही क्वेरी में डेटा पढ़ने और डालने की अनुमति देता है। CONCAT('Web Student=', StudentId) प्रत्येक पंक्ति के लिए एक स्ट्रिंग बनाता है जो स्थिर पाठ और StudentId मान को जोड़ती है। यह पैटर्न रिपोर्टिंग, डेटा निर्यात, या डेटा वेयरहाउसिंग के लिए उपयोगी है।