MySQL में खाली स्ट्रिंग ('') मानों को NULL में बदलने के लिए UPDATE स्टेटमेंट के साथ WHERE क्लॉज का उपयोग करें। यह डेटा सफाई, आयात के बाद सामान्यीकरण, और NULL बनाम खाली स्ट्रिंग अस्पष्टता दूर करने के लिए महत्वपूर्ण है।
सिंटैक्स
UPDATE table_name SET column_name = NULL WHERE column_name = '';
व्यावहारिक उदाहरण
टेबल बनाएं:
mysql> CREATE TABLE DemoTable1315 (CountryName VARCHAR(10));
खाली मानों सहित डेटा डालें:
mysql> INSERT INTO DemoTable1315 VALUES('US');
mysql> INSERT INTO DemoTable1315 VALUES(''); -- खाली स्ट्रिंग
mysql> INSERT INTO DemoTable1315 VALUES('UK');
mysql> INSERT INTO DemoTable1315 VALUES(''); -- खाली स्ट्रिंग
mysql> INSERT INTO DemoTable1315 VALUES(''); -- खाली स्ट्रिंग
mysql> INSERT INTO DemoTable1315 VALUES('AUS');
वर्तमान डेटा देखें:
mysql> SELECT * FROM DemoTable1315;
+-------------+ | CountryName | +-------------+ | US | | | -- खाली स्ट्रिंग | UK | | | -- खाली स्ट्रिंग | | -- खाली स्ट्रिंग | AUS | +-------------+
खाली स्ट्रिंग को NULL में बदलने की क्वेरी
mysql> UPDATE DemoTable1315 SET CountryName = NULL WHERE CountryName = '';
Query OK, 3 rows affected (0.16 sec) Rows matched: 3 Changed: 3 Warnings: 0
अपडेट के बाद जांचें:
mysql> SELECT * FROM DemoTable1315;
+-------------+ | CountryName | +-------------+ | US | | NULL | | UK | | NULL | | NULL | | AUS | +-------------+
बेहतर कंडीशन: लंबाई भी जांचें
कभी-कभी स्पेस वाले मान भी "खाली" माने जाते हैं:
UPDATE DemoTable1315 SET CountryName = NULL WHERE CountryName = '' OR TRIM(CountryName) = '' OR LENGTH(TRIM(CountryName)) = 0;
NULL बनाम खाली स्ट्रिंग - महत्वपूर्ण अंतर
| पहलू | NULL | '' (खाली स्ट्रिंग) |
|---|---|---|
| अर्थ | मान अज्ञात/अनुपलब्ध | मान ज्ञात है लेकिन खाली |
IS NULL | TRUE | FALSE |
= '' | UNKNOWN | TRUE |
COUNT(col) | नहीं गिनता | गिनता है |
| इंडेक्स आकार | छोटा | बड़ा |