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

MySQL में REPLACE() और UPDATE से कॉलम के आंशिक डेटा हटाएं

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 पूर्ण टेबल स्कैन और लॉक कारण बन सकता है। बैच में प्रोसेस करें।

  1. - MySQL में एक स्कीमा से दूसरी स्कीमा में डेटा कैसे डालें?

    सिंटैक्स एक डेटाबेस से दूसरे डेटाबेस में डेटा डालने के लिए: INSERT INTO yourDatabaseName2.yourTableName2 SELECT * FROM yourDatabaseName1.yourTableName1; उदाहरण पहले डेटाबेस web में एक टेबल बनाएं: ); रिकॉर्ड डालें: INSERT INTO DemoTable2020 VALUES (103, Mike); दूसरा टेबल डेटाबेस test में बनाएं:

  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 में एक टेबल से दूसरी टेबल में डेटा सम्मिलित करना

    परिचय MySQL में INSERT INTO ... SELECT स्टेटमेंट का उपयोग करके एक टेबल से डेटा चुनकर दूसरी टेबल में सम्मिलित किया जा सकता है। पहली टेबल निर्माण और डेटा select * from DemoTable1; +------+-----------+ | Id | FirstName | +------+-----------+ | 101 | Adam | | 102 | John | +------+-------