MySQL UPDATE में REPLACE() फ़ंक्शन का उपयोग
किसी कॉलम के मान के अंदर विशिष्ट सबस्ट्रिंग को ढूंढकर बदलने के लिए REPLACE(column, old_substring, new_substring) फ़ंक्शन का उपयोग करें।
सिंटैक्स
UPDATE yourTableName SET yourColumnName = REPLACE(yourColumnName, 'oldValue', 'newValue');
उदाहरण: फ़ाइल पथ अपडेट करना
CREATE TABLE FindReplaceDemo (
FileId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
FileDirectory TEXT
);
INSERT INTO FindReplaceDemo (FileDirectory) VALUES
('C://User//MySQL'),
('D://WebsiteImage//image1.jpg'),
('E://Java//AdvancedJava');
अपडेट क्वेरी
UPDATE FindReplaceDemo SET FileDirectory = REPLACE(FileDirectory, 'E://Java//AdvancedJava', 'E://Java//SpringAndHibernateFramework');
परिणाम
+--------+---------------------------------------+ | FileId | FileDirectory | +--------+---------------------------------------+ | 1 | C://User//MySQL | | 2 | D://WebsiteImage//image1.jpg | | 3 | E://Java//SpringAndHibernateFramework | +--------+---------------------------------------+
महत्वपूर्ण बिंदु
REPLACEकेस-सेंसिटिव है (डिफ़ॉल्ट कॉलेशन के अनुसार)।- यह सभी घटनाओं को बदलता है, केवल पहली नहीं।
- बड़े टेबल पर
WHEREक्लॉज जोड़कर केवल प्रभावित पंक्तियों को अपडेट करें:WHERE FileDirectory LIKE '%AdvancedJava%'। REPLACENULLपरNULLलौटाता है।
केस-इनसेंसिटिव रिप्लेसमेंट
UPDATE FindReplaceDemo SET FileDirectory = REPLACE(LOWER(FileDirectory), 'advancedjava', 'SpringAndHibernateFramework') WHERE LOWER(FileDirectory) LIKE '%advancedjava%';
लेकिन यह मूल केस को बदल देगा। केस बरकरार रखने के लिए एप्लिकेशन लेयर पर 처리 करें।