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

MySQL में DEFAULT NULL का उपयोग करके डिफ़ॉल्ट मान NULL कैसे सेट करें?

MySQL में DEFAULT NULL के साथ कॉलम डिफ़ॉल्ट सेट करना

MySQL में, आप DEFAULT NULL क्लॉज का उपयोग करके किसी कॉलम के लिए स्पष्ट रूप से NULL को डिफ़ॉल्ट मान के रूप में सेट कर सकते हैं। यह तब उपयोगी होता है जब कोई मान प्रदान नहीं किया जाता है तो कॉलम वैकल्पिक होना चाहिए।

उदाहरण: वैकल्पिक कॉलम वाली छात्र टेबल

mysql> CREATE TABLE DemoTable1440 (
    -> StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> StudentName VARCHAR(20) DEFAULT NULL,
    -> StudentAge INT DEFAULT NULL
    -> );
Query OK, 0 rows affected (0.55 sec)

mysql> INSERT INTO DemoTable1440 (StudentName, StudentAge) VALUES ('Chris', 21);
Query OK, 1 row affected (0.14 sec)

mysql> INSERT INTO DemoTable1440 VALUES ();
Query OK, 1 row affected (0.10 sec)

mysql> INSERT INTO DemoTable1440 (StudentName) VALUES ('David');
Query OK, 1 row affected (0.11 sec)

mysql> INSERT INTO DemoTable1440 (StudentAge) VALUES (24);
Query OK, 1 row affected (0.09 sec)

mysql> SELECT * FROM DemoTable1440;
+-----------+-------------+------------+
| StudentId | StudentName | StudentAge |
+-----------+-------------+------------+
|         1 | Chris       |         21 |
|         2 | NULL        |       NULL |
|         3 | David       |       NULL |
|         4 | NULL        |         24 |
+-----------+-------------+------------+
4 rows in set (0.00 sec)

मुख्य बिंदु

  • DEFAULT NULL स्पष्ट रूप से NULL को डिफ़ॉल्ट के रूप में सेट करता है (कई संस्करणों में डिफ़ॉल्ट व्यवहार)
  • INSERT VALUES() सभी कॉलम के लिए डिफ़ॉल्ट मान डालता है
  • आंशिक INSERT केवल निर्दिष्ट कॉलम सेट करता है; अन्य को डिफ़ॉल्ट मिलता है
  • NOT NULL कॉलम के लिए डिफ़ॉल्ट आवश्यक है (MySQL 8.0+ सख्त मोड)

अन्य डिफ़ॉल्ट उदाहरण

-- स्ट्रिंग डिफ़ॉल्ट
CREATE TABLE t1 (name VARCHAR(50) DEFAULT 'Unknown');

-- संख्यात्मक डिफ़ॉल्ट
CREATE TABLE t2 (score INT DEFAULT 0);

-- दिनांक डिफ़ॉल्ट
CREATE TABLE t3 (created DATE DEFAULT (CURDATE()));

-- फ़ंक्शन डिफ़ॉल्ट (MySQL 8.0.13+)
CREATE TABLE t4 (id INT DEFAULT (UUID()));

DEFAULT NULL बनाम कोई DEFAULT नहीं

परिदृश्यDEFAULT NULLकोई DEFAULT नहीं
सख्त मोड, मान लापताNULL डाला गयात्रुटि (यदि NOT NULL)
गैर-सख्त मोड, मान लापताNULL डाला गयाNULL डाला गया (चेतावनी के साथ)
इरादा स्पष्टताउच्च - स्पष्ट इरादाकम - अंतर्निहित व्यवहार
  1. - MySQL में GREATEST() से किसी भी कॉलम में NULL वाली पंक्तियाँ खोजें

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

  1. - MySQL में NOT NULL मान के लिए 1 सेट करें

    MySQL में किसी कॉलम के NOT NULL मान होने पर 1 और NULL होने पर 0 लौटाने के लिए IF() फंक्शन के साथ IS NOT NULL ऑपरेटर का उपयोग करें। यह डेटा वैलिडेशन, रिपोर्टिंग, और कंडीशनल एग्रीगेशन के लिए उपयोगी है। बुनियादी सिंटैक्स SELECT IF( IS NOT NULL, 1, 0) AS anyAliasName; आउटपुट: 1 (क्योंकि खाली स्ट्रिंग N

  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