कभी-कभी आपको नल मानों के साथ एक शून्य कॉलम को बिना NULL मानों के एक में बदलने की आवश्यकता हो सकती है। इस लेख में, हम देखेंगे कि कॉलम को NULL से NOT NULL मानों में कैसे बदला जाए। आप MySQL, PostgreSQL और SQL सर्वर में कॉलम को NULL से NOT NULL में बदलने के लिए इन चरणों का उपयोग कर सकते हैं।
कॉलम को Null से Not Null में कैसे बदलें
यहां कॉलम को NULL से NOT NULL में बदलने के चरण दिए गए हैं।
पहला कदम हमारे कॉलम से शून्य मानों को हटाना है। मान लें कि आपके पास एक तालिका है बिक्री(आईडी, राशि, आदेश_तिथि)
mysql> create table sales(id int, amount int,order_date date); mysql> insert into sales(id, amount) values(1, 100),(2,300),(3,45); mysql> insert into sales(id, order_date) values(4,'2020-11-01'); mysql> select * from sales; +------+--------+------------+ | id | amount | order_date | +------+--------+------------+ | 1 | 100 | NULL | | 2 | 300 | NULL | | 3 | 45 | NULL | | 4 | NULL | 2020-11-01 | +------+--------+------------+
जैसा कि आप देख सकते हैं, उपरोक्त तालिका में order_date . में शून्य मान हैं और राशि कॉलम।
मान लें कि आप राशि कॉलम को शून्य से शून्य में बदलना चाहते हैं। तो सबसे पहले हम UPDATE स्टेटमेंट का उपयोग करके इस कॉलम से शून्य मान हटा देंगे।
mysql> update sales set amount=0 where amount is null; mysql> select * from sales; +------+--------+------------+ | id | amount | order_date | +------+--------+------------+ | 1 | 100 | NULL | | 2 | 300 | NULL | | 3 | 45 | NULL | | 4 | 0 | 2020-11-01 | +------+--------+------------+
इसी तरह, अगर आप order_date को बदलना चाहते हैं शून्य से शून्य तक कॉलम, पहले शून्य मानों को शून्य मानों में अपडेट करें, जैसा कि नीचे दिखाया गया है।
mysql> update sales set order_date='0000-00-00' where order_date is null; mysql> select * from sales; +------+--------+------------+ | id | amount | order_date | +------+--------+------------+ | 1 | 100 | 0000-00-00 | | 2 | 300 | 0000-00-00 | | 3 | 45 | 0000-00-00 | | 4 | 0 | 2020-11-01 | +------+--------+------------+
2. तालिका बदलें और कॉलम संशोधित करें
इसके बाद, हम ALTER TABLE स्टेटमेंट का उपयोग करके राशि कॉलम को नल से नॉट नल में बदल देंगे।
यहाँ इसके लिए वाक्य रचना है।
ALTER TABLE table_name ALTER COLUMN col_name data_type NOT NULL;
table_name, col_name और data_type को क्रमशः तालिका नाम, स्तंभ नाम और डेटा प्रकार से बदलें।
यहां राशि कॉलम को NULL से NOT NULL में बदलने के लिए SQL क्वेरी है।
For MySQL --------- ALTER TABLE sales MODIFY COLUMN amount int NOT NULL; For SQL Server/PostgreSQL ------------------------- ALTER TABLE sales ALTER COLUMN amount int NOT NULL;
इसी तरह, यहां ऑर्डर_डेट कॉलम को NULL से NOT NULL में बदलने के लिए SQL क्वेरीज़ हैं
For MySQL --------- ALTER TABLE sales MODIFY COLUMN order_date date NOT NULL; For SQL Server/PostgreSQL ------------------------- ALTER TABLE sales ALTER COLUMN order_date date NOT NULL;
हम उपरोक्त परिवर्तन को MySQL में डिस्क्रिप्शन टेबल कमांड चलाकर सत्यापित करते हैं।
mysql> describe sales; +------------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+---------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | amount | int(11) | NO | | NULL | | | order_date | date | NO | | NULL | | +------------+---------+------+-----+---------+-------+
आप देखेंगे कि कॉलम राशि और ऑर्डर_डेट में NULL कॉलम के लिए कोई मान नहीं है, यह दर्शाता है कि उन्हें NULL मानों को संग्रहीत करने की अनुमति नहीं है।
Ubiq डेटा की कल्पना करना और रीयल-टाइम डैशबोर्ड में उनकी निगरानी करना आसान बनाता है। Ubiq को निःशुल्क आज़माएं।