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

MySQL में केवल NULL मानों को कैसे बदलें?

MySQL में NULL मानों को विशिष्ट मान से बदलना

MySQL में IS NULL ऑपरेटर का उपयोग करके NULL मानों की पहचान की जाती है, और IF() या COALESCE() फंक्शन का उपयोग करके उन्हें बदला जा सकता है।

उदाहरण: NULL नाम को डिफॉल्ट टेक्स्ट से बदलें

टेबल बनाएं और डेटा डालें:

CREATE TABLE DemoTable (
    Name VARCHAR(100)
);

INSERT INTO DemoTable VALUES ('Robert');
INSERT INTO DemoTable VALUES (NULL);
INSERT INTO DemoTable VALUES ('David');
INSERT INTO DemoTable VALUES (NULL);
INSERT INTO DemoTable VALUES ('Robert');

वर्तमान डेटा:

+--------+
| Name   |
+--------+
| Robert |
| NULL   |
| David  |
| NULL   |
| Robert |
+--------+

विधि 1: IF() फंक्शन का उपयोग

UPDATE DemoTable 
SET Name = IF(Name IS NULL, 'Please Enter a Name', Name);

विधि 2: COALESCE() फंक्शन का उपयोग (अधिक संक्षिप्त)

UPDATE DemoTable 
SET Name = COALESCE(Name, 'Please Enter a Name');

COALESCE() पहला नॉन-NULL मान लौटाता है, इसलिए यह NULL को दिए गए डिफॉल्ट मान से बदल देता है।

परिणाम

+---------------------+
| Name                |
+---------------------+
| Robert              |
| Please Enter a Name |
| David               |
| Please Enter a Name |
| Robert              |
+---------------------+

महत्वपूर्ण नोट

  • Name = NULL लिखना गलत है — NULL की तुलना IS NULL से की जाती है
  • IFNULL() भी उपयोग कर सकते हैं: SET Name = IFNULL(Name, 'Default')
  • केवल NULL मान प्रभावित होते हैं, मौजूदा गैर-NULL मान अपरिवर्तित रहते हैं
  1. - MySQL में LEFT() फंक्शन का उपयोग करके केवल 15 वर्ण कैसे प्राप्त करें?

    MySQL में LEFT() फ़ंक्शन का उपयोग करके स्ट्रिंग के बाएं से निर्दिष्ट संख्या में वर्ण प्राप्त किए जा सकते हैं। ध्यान दें: यह शब्द नहीं, वर्ण गिनता है। सिंटैक्स LEFT(string, length) उदाहरण तालिका बनाएं और डेटा डालें: mysql> CREATE TABLE DemoTable (Title TEXT); mysql> INSERT INTO DemoTable VALU

  1. - MySQL में ENUM कॉलम से केवल 'NO' मानों की गणना करें

    MySQL में ENUM कॉलम पर सशर्त गणना के लिए बूलियन अभिव्यक्ति का योग (SUM(condition)) उपयोग कर सकते हैं। MySQL में TRUE = 1 और FALSE = 0 होता है। टेबल बनाएं mysql> CREATE TABLE DemoTable1829 ( Name VARCHAR(20), isTopper ENUM(YES,NO) ); डेटा डालें mysql> INSERT INTO DemoTable1829 VALUES(

  1. - MySQL में टेबल में मौजूद न होने वाले मानों को कैसे क्वेरी करें?

    MySQL में किसी टेबल में मौजूद नहीं होने वाले मानों को खोजने के लिए, UNION ALL के साथ WHERE NOT EXISTS या NOT IN का उपयोग करें। यह गैप विश्लेषण या मिसिंग सीक्वेंस खोजने के लिए उपयोगी है। उदाहरण: मिसिंग ऑटो-इन्क्रीमेंट मान खोजना ऑटो-इन्क्रीमेंट टेबल बनाएं: mysql> CREATE TABLE DemoTable1918 (