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

MySQL में NOT NULL कॉलम में 'NULL' स्ट्रिंग वैल्यू इन्सर्ट करना

MySQL में NOT NULL कंस्ट्रेंट वाले कैरेक्टर टाइप कॉलम में 'NULL' स्ट्रिंग (टेक्स्ट) को वैल्यू के रूप में इन्सर्ट किया जा सकता है, क्योंकि 'NULL' स्ट्रिंग और SQL NULL मान दो अलग चीजें हैं।

उदाहरण

test2 टेबल में NAME कॉलम पर NOT NULL कंस्ट्रेंट है:

mysql> DESCRIBE test2;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | NO   |     | NULL    |       |
| NAME  | varchar(20) | NO   |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+

'NULL' स्ट्रिंग इन्सर्ट करें

mysql> INSERT INTO test2 VALUES(2, 'NULL');
Query OK, 1 row affected (0.06 sec)

mysql> SELECT * FROM test2;
+----+--------+
| id | NAME   |
+----+--------+
|  1 | Gaurav |
|  2 | NULL   |
+----+--------+

अंतर समझना: NULL vs 'NULL'

1. IS NULL चेक (SQL NULL के लिए)

mysql> DELETE FROM test2 WHERE name IS NULL;
Query OK, 0 rows affected (0.00 sec)
-- 0 पंक्तियाँ प्रभावित = कोई SQL NULL नहीं मिला

2. = 'NULL' चेक (स्ट्रिंग 'NULL' के लिए)

mysql> DELETE FROM test2 WHERE name = 'NULL';
Query OK, 1 row affected (0.09 sec)
-- 1 पंक्ति प्रभावित = स्ट्रिंग 'NULL' मिली और डिलीट हुई

परिणाम

mysql> SELECT * FROM test2;
+----+--------+
| id | NAME   |
+----+--------+
|  1 | Gaurav |
+----+--------+

मुख्य अंतर सारांश

पहलूSQL NULLस्ट्रिंग 'NULL'
प्रकृतिमान की अनुपस्थितिवास्तविक टेक्स्ट मान
चेकIS NULL / IS NOT NULL= 'NULL' / != 'NULL'
NOT NULL कंस्ट्रेंटब्लॉक करता हैअनुमति देता है
लंबाईN/A4 कैरेक्टर

सावधानी: एप्लिकेशन लेवल पर 'NULL' स्ट्रिंग का उपयोग भ्रम पैदा कर सकता है - बेहतर है खाली स्ट्रिंग ('') या विशेष मार्कर जैसे 'N/A' उपयोग करें।

  1. - MySQL में उपयोगकर्ता-परिभाषित वेरिएबल का उपयोग करके रनिंग सबटोटल (कम्युलेटिव योग) की गणना करना

    MySQL में उपयोगकर्ता-परिभाषित वेरिएबल (@variable) का उपयोग करके एक कॉलम का रनिंग टोटल (कम्युलेटिव योग) दूसरी कॉलम में गणना करें और स्टोर करें। उदाहरण: टेबल बनाना और डेटा डालना mysql> CREATE TABLE DemoTable ( -> Amount INT, -> SubTotal INT -> ); Query OK, 0 rows affected (0.

  1. - MySQL में char(2) टाइप के डेटाबेस फील्ड में NULL मान इन्सर्ट करना

    पहले एक टेबल बनाते हैं: mysql> create table DemoTable658(FirstName varchar(100),value char(2)); Query OK, 0 rows affected (0.95 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable658(FirstName) values(John) ; Query OK, 1 row affected (0.19 sec) mysql> i

  1. - MySQL क्वेरी: अधिकतम संचयी मान प्राप्त करें

    समाधान सबक्वेरी में गुणनफल की गणना करें, फिर GROUP BY और ORDER BY से अधिकतम खोजें। उदाहरण टेबल बनाएं: INSERT INTO demo23 (value1, value2) VALUES (5,600), (20,800), (7,400), (6,500), (10,300), (11,500); क्वेरी LIMIT 1; परिणाम +-------------+-----------------------+ | total_value | number_of_occu