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

MySQL में विशेष वर्ण वाले मान को खोजकर NULL से कैसे बदलें?

MySQL में किसी विशिष्ट मान (जिसमें विशेष वर्ण शामिल हों) को खोजकर उसे NULL से बदलने के लिए, साधारण UPDATE स्टेटमेंट के साथ WHERE क्लॉज़ का उपयोग करें। विशेष वर्णों के लिए स्ट्रिंग लिटरल में उचित एस्केपिंग या कोटिंग आवश्यक है।

उदाहरण: अंडरस्कोर वाले कोड को NULL करना

डेमो टेबल बनाएं:

mysql> CREATE TABLE DemoTable1914 (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Code VARCHAR(20)
) AUTO_INCREMENT = 1001;

डेटा इन्सर्ट करें:

mysql> INSERT INTO DemoTable1914 (Code) VALUES
('John101'), ('234David'), ('100_Mike');

अपडेट से पहले:

+------+----------+
| Id   | Code     |
+------+----------+
| 1001 | John101  |
| 1002 | 234David |
| 1003 | 100_Mike |
+------+----------+

विशिष्ट मान को NULL से अपडेट करें:

mysql> UPDATE DemoTable1914
SET Code = NULL
WHERE Code = '100_Mike';

अपडेट के बाद:

+------+----------+
| Id   | Code     |
+------+----------+
| 1001 | John101  |
| 1002 | 234David |
| 1003 | NULL     |
+------+----------+

विशेष वर्णों को संभालना

यदि खोज मान में विशेष वर्ण हैं:

-- सिंगल कोट में विशेष वर्ण (बैकस्लैश, कोट) एस्केप करें
UPDATE table SET col = NULL WHERE col = 'O\'Reilly';  -- एस्केप्ड कोट
UPDATE table SET col = NULL WHERE col = 'C:\\Path';   -- डबल बैकस्लैश

-- या डबल कोट उपयोग करें (ANSI_QUOTES मोड पर निर्भर)
UPDATE table SET col = NULL WHERE col = "O'Reilly";

पैटर्न मिलान के साथ NULL करना

यदि सटीक मान नहीं पता लेकिन पैटर्न पता है:

-- अंडरस्कोर वाले सभी कोड NULL करें
UPDATE DemoTable1914 SET Code = NULL WHERE Code LIKE '%_%';

-- रेगुलर एक्सप्रेशन के साथ
UPDATE DemoTable1914 SET Code = NULL WHERE Code REGEXP '[0-9]_';

सावधानियां

  • कॉलम NULLable होना चाहिए: NOT NULL कॉलम पर NULL सेट करने से एरर होगा
  • WHERE क्लॉज़: हमेशा WHERE उपयोग करें, अन्यथा पूरा कॉलम NULL हो जाएगा
  • ट्रांजैक्शन: बड़े अपडेट के लिए ट्रांजैक्शन उपयोग करें
  • इंडेक्स: WHERE कॉलम पर इंडेक्स परफॉरमेंस सुधारेगा

यह तकनीक डेटा क्लीनिंग, अमान्य एंट्री हटाने, और सॉफ्ट डिलीट पैटर्न के लिए उपयोगी है।

  1. - MySQL में REPLACE() का उपयोग करके फाइल पथ कॉलम में खोजें और बदलें

    REPLACE() फ़ंक्शन का उपयोग करके कॉलम मानों में एक सबस्ट्रिंग की सभी घटनाओं को दूसरी सबस्ट्रिंग से बदलें (उदाहरण के लिए, फाइल पथ अपडेट करना)। टेबल बनाना और डेटा डालना CREATE TABLE DemoTable (FolderLocation TEXT); Query OK, 0 rows affected (0.80 sec) INSERT INTO DemoTable VALUES(C/ProgramFiles/All

  1. - MySQL में REPLACE() फंक्शन का उपयोग करके वर्ण कैसे बदलें?

    MySQL में REPLACE() फ़ंक्शन का उपयोग करके किसी स्ट्रिंग में सभी घटनाओं को दूसरे स्ट्रिंग से बदला जा सकता है। यह टाइपो सुधार, डेटा सफाई के लिए उपयोगी है। सिंटैक्स REPLACE(column_name, old_string, new_string) उदाहरण तालिका बनाएं और डेटा डालें (टाइपो के साथ): mysql> CREATE TABLE DemoTable (Name VA

  1. - MySQL में GREATEST() से किसी भी कॉलम में NULL वाली पंक्तियाँ खोजें

    GREATEST() फ़ंक्शन अपने तर्कों में से सबसे बड़ा मान लौटाता है। यदि कोई भी तर्क NULL है, तो परिणाम NULL होता है। इस गुण का उपयोग करके किसी भी कॉलम में NULL वाली पंक्तियाँ खोज सकते हैं। टेबल बनाएं mysql> CREATE TABLE DemoTable1862 ( Value1 INT, Value2 INT, Value3 INT, Value4 INT ); डेटा डालें