टेबल बनाते समय कॉलम के लिए डिफ़ॉल्ट मान सेट करने के लिए DEFAULT कीवर्ड का उपयोग करें। आइए एक उदाहरण देखते हैं और एक टेबल बनाते हैं। जैसा कि आप नीचे देख सकते हैं, टेबल बनाते समय हमने DEFAULT सेट किया है:
mysql> create table DemoTable803 ( UserId int DEFAULT 101, UserName varchar(100) DEFAULT 'Chris' ); Query OK, 0 rows affected (1.18 sec)
इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। जिन मानों को हम नहीं डाल रहे हैं, उनके लिए डिफ़ॉल्ट मान स्वचालित रूप से सेट हो जाएंगे:
mysql> insert into DemoTable803 values(102,'Chris');
Query OK, 1 row affected (0.34 sec)
mysql> insert into DemoTable803(UserName) values('Mike');
Query OK, 1 row affected (0.48 sec)
mysql> insert into DemoTable803(UserId) values(103);
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable803 values();
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable803 values(110,'Robert');
Query OK, 1 row affected (0.33 sec)
सेलेक्ट स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित करें:
mysql> select * from DemoTable803;
यह निम्नलिखिक आउटपुट देगा:
+--------+----------+ | UserId | UserName | +--------+----------+ | 102 | Chris | | 101 | Mike | | 103 | Chris | | 101 | Chris | | 110 | Robert | +--------+----------+ 5 rows in set (0.00 sec)
केवल डिफ़ॉल्ट मान प्रदर्शित करने की क्वेरी
mysql> select default(UserId), default(UserName) from DemoTable803 limit 1;
यह निम्नलिखिक आउटपुट देगा:
+-----------------+-------------------+ | default(UserId) | default(UserName) | +-----------------+-------------------+ | 101 | Chris | +-----------------+-------------------+ 1 row in set (0.00 sec)
व्याख्या
- पंक्ति 1: दोनों मान प्रदान किए गए (102, 'Chris')
- पंक्ति 2: केवल UserName दिया गया → UserId = 101 (डिफ़ॉल्ट)
- पंक्ति 3: केवल UserId दिया गया → UserName = 'Chris' (डिफ़ॉल्ट)
- पंक्ति 4: कोई मान नहीं दिया → दोनों डिफ़ॉल्ट (101, 'Chris')
- पंक्ति 5: दोनों मान प्रदान किए गए (110, 'Robert')
DEFAULT()फ़ंक्शन कॉलम के डिफ़ॉल्ट मान को दिखाता है
नोट
DEFAULT कॉलम परिभाषा में स्थिर मान, फ़ंक्शन (CURRENT_TIMESTAMP), या अभिव्यक्ति हो सकता है (MySQL 8.0.13+)।