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

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

IS NULL और UPDATE का उपयोग

NULL मानों को ढूंढकर उन्हें नए मान से अपडेट करने के लिए IS NULL कंडीशन के साथ UPDATE स्टेटमेंट का उपयोग करें।

उदाहरण: टेबल बनाना और डेटा इन्सर्ट करना

mysql> CREATE TABLE DemoTable768 (
    ClientId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ClientName VARCHAR(100),
    ClientAge INT
);
Query OK, 0 rows affected (0.47 sec)

रिकॉर्ड्स इन्सर्ट करना (कुछ NULL नाम के साथ)

mysql> INSERT INTO DemoTable768(ClientName,ClientAge) VALUES
    ('John',23),(NULL,26),('Carol',28),(NULL,24);
Query OK, 4 rows affected (...)

सभी रिकॉर्ड्स देखना

mysql> SELECT * FROM DemoTable768;
+----------+------------+-----------+
| ClientId | ClientName | ClientAge |
+----------+------------+-----------+
| 1        | John       | 23        |
| 2        | NULL       | 26        |
| 3        | Carol      | 28        |
| 4        | NULL       | 24        |
+----------+------------+-----------+
4 rows in set (0.00 sec)

NULL मानों को 'Chris' से अपडेट करने की क्वेरी

mysql> UPDATE DemoTable768 
    SET ClientName = 'Chris' 
    WHERE ClientName IS NULL;
Query OK, 2 rows affected (0.41 sec)
Rows matched: 2  Changed: 2  Warnings: 0

अपडेट के बाद डेटा देखना

mysql> SELECT * FROM DemoTable768;
+----------+------------+-----------+
| ClientId | ClientName | ClientAge |
+----------+------------+-----------+
| 1        | John       | 23        |
| 2        | Chris      | 26        |
| 3        | Carol      | 28        |
| 4        | Chris      | 24        |
+----------+------------+-----------+
4 rows in set (0.00 sec)

महत्वपूर्ण बिंदु

  • IS NULL का उपयोग करें, = NULL का नहीं - NULL की तुलना = से नहीं की जा सकती
  • IS NOT NULL गैर-NULL मानों के लिए उपयोग करें
  • Rows matched: 2 Changed: 2 दर्शाता है कि 2 रो मिले और दोनों बदले गए

संबंधित फंक्शन्स: NULL हैंडलिंग

फंक्शनउद्देश्यउदाहरण
IFNULL(expr, val)NULL हो तो val लौटाएंIFNULL(ClientName, 'Unknown')
COALESCE(val1, val2, ...)पहला गैर-NULL मान लौटाएंCOALESCE(Phone, Email, 'N/A')
NULLIF(expr1, expr2)दोनों समान हों तो NULL लौटाएंNULLIF(ClientName, '')

खाली स्ट्रिंग ('') vs NULL

खाली स्ट्रिंग और NULL अलग हैं। दोनों को हैंडल करने के लिए:

UPDATE DemoTable768 
SET ClientName = 'Chris' 
WHERE ClientName IS NULL OR ClientName = '';

डिफ़ॉल्ट मान सेट करना (भविष्य के इन्सर्ट्स के लिए)

ALTER TABLE DemoTable768 
MODIFY ClientName VARCHAR(100) DEFAULT 'Unknown';
  1. - MySQL में UNION ALL का उपयोग करके कस्टम कॉलम्स के लिए एकाधिक मान सेट करें

    MySQL में UNION ALL का उपयोग करके व्युत्पन्न कॉलम मान उत्पन्न करना UNION ALL का उपयोग करके आप एक ही टेबल पर अलग-अलग गणनाएँ कर सकते हैं और परिणामों को लंबवत रूप से संयोजित कर सकते हैं, जिससे प्रभावी रूप से प्रत्येक मूल पंक्ति के लिए कई व्युत्पन्न पंक्तियाँ बनती हैं। टेबल बनाना ); Query OK, 0 rows a

  1. - MySQL में IF स्टेटमेंट से ENUM मानों के लिए कस्टम संदेश सेट करें

    IF() फ़ंक्शन से ENUM Y/N को पठनीय संदेश में बदलें ENUM कॉलम के Y/N मानों को Active Member/Not Active Member जैसे कस्टम संदेश में बदलने के लिए IF() का उपयोग करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1992 ( ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY, ClientName varchar(20),

  1. - MySQL में कॉलम मानों के लिए ENUM कैसे सेट करें?

    ENUM कॉलम के साथ टेबल बनाना टेबल बनाते समय ENUM प्रकार निर्दिष्ट करें: ); रिकॉर्ड डालना INSERT INTO DemoTable2019 VALUES (45, Second); सभी रिकॉर्ड देखना SELECT * FROM DemoTable2019; +--------------+---------------+ | StudentMarks | StudentStatus | +--------------+---------------+ | 96