MySQL में CONCAT() फंक्शन का उपयोग करके कॉलम में टेक्स्ट जोड़ना (Append)
CONCAT() फंक्शन एक या अधिक स्ट्रिंग को जोड़कर एक स्ट्रिंग बनाता है। मौजूदा कॉलम मान में नया टेक्स्ट जोड़ने के लिए UPDATE के साथ उपयोग करें।
सिंटैक्स:
UPDATE yourTableName SET yourColumnName = CONCAT(yourColumnName, 'AppendValue');
व्यावहारिक उदाहरण
1. टेबल बनाएं:
mysql> CREATE TABLE AppendingDataDemo (
-> FirstNameAndLastName VARCHAR(200)
-> );
Query OK, 0 rows affected (0.59 sec)
2. केवल पहला नाम डालें:
mysql> INSERT INTO AppendingDataDemo VALUES('John');
mysql> INSERT INTO AppendingDataDemo VALUES('Bob');
mysql> INSERT INTO AppendingDataDemo VALUES('Carol');
3. अपडेट से पहले:
+----------------------+ | FirstNameAndLastName | +----------------------+ | John | | Bob | | Carol | +----------------------+ 3 rows in set (0.00 sec)
4. " Taylor" जोड़ें (स्पेस सहित):
mysql> UPDATE AppendingDataDemo
-> SET FirstNameAndLastName = CONCAT(FirstNameAndLastName, ' Taylor');
Query OK, 3 rows affected (0.10 sec)
Rows matched: 3 Changed: 3 Warnings: 0
5. अपडेट के बाद:
+----------------------+ | FirstNameAndLastName | +----------------------+ | John Taylor | | Bob Taylor | | Carol Taylor | +----------------------+ 3 rows in set (0.00 sec)
उन्नत उपयोग:
शर्त के साथ जोड़ें:
UPDATE users SET name = CONCAT(name, ' (VIP)') WHERE is_vip = 1;
कई कॉलम जोड़ें:
UPDATE table_name SET full_name = CONCAT(first_name, ' ', last_name);
सेपरेटर के साथ CONCAT_WS() (बेहतर):
-- CONCAT_WS(separator, str1, str2, ...) - NULL को अनदेखा करता है
UPDATE users
SET full_address = CONCAT_WS(', ', address_line1, address_line2, city, state);
महत्वपूर्ण नोट्स:
CONCAT()में अगर कोई आर्गुमेंट NULL है, तो परिणाम NULL होगाCONCAT_WS()(With Separator) NULL को अनदेखा करता है — अक्सर बेहतर विकल्पWHEREक्लॉज के बिना सभी पंक्तियां अपडेट होंगी- बड़े टेबल पर बैच में अपडेट करें
संबंधित फंक्शन:
| फंक्शन | विवरण |
|---|---|
CONCAT() | सीधे जोड़ता है, NULL → NULL परिणाम |
CONCAT_WS() | सेपरेटर के साथ, NULL छोड़ देता है |
INSERT() | स्थिति पर स्ट्रिंग डालें/बदलें |
REPLACE() | सभी घटनाएं बदलें |