पोस्टग्रेज़ में NOT NULL बाधा हटाएँ

Postagreza Mem Not Null Badha Hata Em



PostgreSQL जैसे रिलेशनल डेटाबेस में, डेटा अखंडता को बनाए रखने और टेबल कॉलम पर विशिष्ट नियमों को लागू करने में बाधाएं महत्वपूर्ण हैं। ऐसी ही एक बाधा है 'नॉट न्यूल' बाधा। इस ट्यूटोरियल में, हम NOT NULL बाधा की अवधारणा का पता लगाएंगे और PostgreSQL में इसे बनाने और हटाने पर चरण-दर-चरण मार्गदर्शिका प्रदान करेंगे।

शून्य बाधा क्या है?

NOT NULL बाधा यह सुनिश्चित करती है कि किसी कॉलम में शून्य मान नहीं हो सकते जिसके लिए तालिका की प्रत्येक पंक्ति में उस विशेष कॉलम के लिए एक गैर-शून्य मान होना आवश्यक है।

ट्यूटोरियल आवश्यकताएँ:

इस पोस्ट में दिए गए निर्देशों का पालन करने के लिए, हम मानते हैं कि आपकी निम्नलिखित आवश्यकताएँ हैं:







  1. आपकी मशीन पर PostgreSQL सर्वर स्थापित किया गया
  2. बुनियादी एसक्यूएल ज्ञान
  3. डेटाबेस तालिका ऑब्जेक्ट जैसे बाधाएँ, फ़ंक्शन आदि बनाने की अनुमति

उदाहरण तालिका:

आइए उन स्तंभों के साथ एक नमूना तालिका स्थापित करके शुरुआत करें जिनमें शून्य बाधा नहीं है। निम्नलिखित क्रिएट टेबल स्टेटमेंट लें जो एक मूल तालिका सेट करता है जो वर्डप्रेस में wp_users तालिका से मिलती जुलती है:



तालिका बनाएं wp_users (
आईडी सीरियल प्राथमिक कुंजी,
उपयोगकर्ता_लॉगिन VARCHAR(60) शून्य नहीं,
उपयोगकर्ता_पास VARCHAR(255) शून्य नहीं,
उपयोगकर्ता_नाइसनाम VARCHAR(50) शून्य नहीं,
उपयोगकर्ता_ईमेल VARCHAR(100) शून्य नहीं,
उपयोगकर्ता_यूआरएल VARCHAR(100),
उपयोगकर्ता_पंजीकृत टाइमस्टैम्प शून्य डिफ़ॉल्ट नहीं वर्तमान_टाइमस्टैम्प,
उपयोगकर्ता_सक्रियण_कुंजी VARCHAR(255),
user_status INT शून्य डिफ़ॉल्ट 0 नहीं,
डिस्प्ले_नाम VARCHAR(250) शून्य नहीं
);

दी गई क्वेरी से, आप देखेंगे कि अधिकांश कॉलम में NOT NULL बाधा शामिल है।



किसी दिए गए कॉलम में NOT NULL बाधा बनाने का सबसे प्रभावी तरीका तालिका निर्माण के दौरान होता है। यह सुनिश्चित करता है कि तालिका में जोड़े गए सभी डेटा बाधा के नियमों का पालन करते हैं।





हालाँकि, यदि आप किसी मौजूदा तालिका में कोई बाधा जोड़ते हैं, तो नियम केवल उस डेटा पर लागू होते हैं जो बाधा के बाद जोड़ा जाता है, न कि किसी मौजूदा डेटा पर। इससे विसंगतियाँ पैदा हो सकती हैं, विशेषकर बड़ी तालिकाओं में।

एक NOT NULL बाधा जोड़ें

कुछ मामलों में, आप किसी मौजूदा तालिका में NOT NULL बाधा जोड़ना चाह सकते हैं। उदाहरण के लिए, आप ALTER COLUMN क्लॉज के बाद ALTER TABLE कमांड का उपयोग कर सकते हैं।



वाक्यविन्यास इस प्रकार है:

तालिका तालिका_नाम बदलें
ALTER COLUMN column_name सेट शून्य नहीं है;

टेबल_नाम को अपनी लक्ष्य तालिका से और कॉलम_नाम को लक्ष्य कॉलम से बदलें, जिस पर आप बाधा लागू करना चाहते हैं।

बाधा सत्यापित करें

आप PSQL उपयोगिता में '\d' कमांड का उपयोग करके यह सत्यापित कर सकते हैं कि बाधा किसी दी गई तालिका पर मौजूद है।

\d तालिका_नाम

उदाहरण:

नमूना_डीबी=# \d wp_users;

परिणामी आउटपुट इस प्रकार है:

NOT NULL बाधा हटाएँ

आप किसी दिए गए कॉलम से NOT NULL बाधा को भी हटाना चाह सकते हैं। इसके लिए, हम ALTER TABLE और ALTER COLUMN क्लॉज का उपयोग इस प्रकार कर सकते हैं:

तालिका तालिका_नाम बदलें
ALTER COLUMN column_name ड्रॉप शून्य नहीं;

उदाहरण के लिए, wp_users तालिका के user_url कॉलम से NOT NULL बाधा को हटाने के लिए, हम निम्नलिखित क्वेरी चला सकते हैं:

तालिका बदलें wp_users कॉलम बदलें user_url ड्रॉप शून्य नहीं;

इससे तालिका से बाधा हट जानी चाहिए।

निष्कर्ष

इस ट्यूटोरियल में बताया गया है कि हम PostgreSQL में NOT NOLL बाधा के साथ कैसे काम कर सकते हैं। हमने यह भी पता लगाया कि किसी दिए गए कॉलम से मौजूदा NOT NULL बाधा को कैसे हटाया जाए।