MySQL में UPDATE और REPLACE() फ़ंक्शन का उपयोग करके कॉलम मान के विशिष्ट भाग को हटा या बदल सकते हैं।
सिंटैक्स
UPDATE टेबल_नाम SET कॉलम_नाम = REPLACE(कॉलम_नाम, 'खोज_स्ट्रिंग', 'प्रतिस्थापन_स्ट्रिंग');
उदाहरण: XML-जैसे टैग हटाएं
1. टेबल बनाएं
mysql> CREATE TABLE DemoTable1583 (GameDetails TEXT);
2. डेटा डालें
mysql> INSERT INTO DemoTable1583 VALUES('=Candy ,2000 ');
mysql> INSERT INTO DemoTable1583 VALUES('=Lucky29 ,10000 ');
3. अपडेट से पहले
mysql> SELECT * FROM DemoTable1583;
+------------------------------------------------------------+ | GameDetails | +------------------------------------------------------------+ |=Candy ,2000 | |=Lucky29 ,10000 | +------------------------------------------------------------+
4. विशिष्ट टैग हटाएं
mysql> UPDATE DemoTable1583
-> SET GameDetails = REPLACE(GameDetails, '=Candy ', '');
5. परिणाम
mysql> SELECT * FROM DemoTable1583;
+------------------------------------------------------------+ | GameDetails | +------------------------------------------------------------+ | ,2000 | |=Lucky29 ,10000 | +------------------------------------------------------------+
महत्वपूर्ण नोट
REPLACE()सभी घटनाएं बदलता है- केस-संवेदी मिलान
- आंशिक मिलान भी बदलेगा (सावधानी)
केवल पहली घटना बदलने के लिए
MySQL में अंतर्निहित नहीं। SUBSTRING_INDEX/LOCATE संयोजन या एप्लिकेशन लेवल पर करें।
बेहतर विकल्प: JSON/XML फ़ंक्शन (MySQL 5.7+)
-- यदि वैध JSON/XML है UPDATE DemoTable1583 SET GameDetails = JSON_REMOVE(CAST(GameDetails AS JSON), '$.GameName') WHERE JSON_CONTAINS_PATH(GameDetails, 'one', '$.GameName');
सामान्य उपयोग
- डेटा सफाई: अवांछित उपसर्ग/प्रत्यय/टैग हटाना
- मानकीकरण: 'St.' → 'Street', 'Ph.' → 'Phone'
- संवेदनशील डेटा मास्किंग
चेतावनी
बड़े टेबल पर WHERE के बिना UPDATE ... REPLACE पूर्ण टेबल स्कैन और लॉक कारण बन सकता है। बैच में प्रोसेस करें।