ALTER TABLE कमांड का उपयोग PostgreSQL टेबल की संरचना को बदलने के लिए किया जाता है। यह टेबल कॉलम या टेबल के नाम को बदलने के लिए प्रयोग किया जाने वाला कमांड है।
इस ट्यूटोरियल में, आप सीखेंगे:
- वाक्य - विन्यास
- विवरण
- एक कॉलम को संशोधित करना
- एक नया कॉलम जोड़ना
- तालिका स्तंभ का नाम बदलना
- एक कॉलम के लिए एक डिफ़ॉल्ट मान सेट करना
- एक चेक बाधा जोड़ना
- एक तालिका का नाम बदलना
- PgAdmin का उपयोग करना
वाक्य - विन्यास
यहाँ PostgreSQL ALTER टेबल कमांड के लिए वाक्य रचना है:
ALTER TABLE table-name action;
तालिका-नाम पैरामीटर तालिका का नाम है जिसे आपको बदलने की आवश्यकता है।
एक्शन पैरामीटर वह क्रिया है जिसे आपको करने की आवश्यकता होती है, जैसे किसी कॉलम का नाम बदलना, कॉलम का डेटा प्रकार बदलना, आदि।
विवरण
ALTER TABLE कमांड मौजूदा तालिका की परिभाषा को बदल देती है। यह निम्नलिखित सबफॉर्म लेता है:
- ADD COLUMN : यह टेबल पर एक नया कॉलम जोड़ने के लिए CREATE TABLE कमांड के समान सिंटैक्स का उपयोग करता है।
- ड्रॉप कॉलम : टेबल कॉलम छोड़ने के लिए। स्तंभों पर लगाए गए अवरोध और सूचकांक भी गिरा दिए जाएंगे।
- SET / DROP DEFAULT : एक कॉलम के लिए डिफ़ॉल्ट मान को हटाने के लिए उपयोग करें। हालाँकि, परिवर्तन केवल बाद के INSERT विवरणों पर लागू होगा।
- सेट / ड्रॉप नॉट नॉट : कोई कॉलम नल की अनुमति देगा या नहीं, इसमें बदलाव होता है।
- सेट सांख्यिकी: ANALYZE संचालन के लिए प्रत्येक कॉलम के लिए आँकड़े-एकत्रित लक्ष्य निर्धारित करने के लिए।
- सेट स्टोरेज : एक कॉलम के लिए स्टोरेज का मोड सेट करने के लिए। यह निर्धारित करेगा कि स्तंभ कहाँ है, चाहे इनलाइन, या अनुपूरक तालिका में।
- ओईटी के बिना सेट करें: तालिका के पुराने कॉलम को हटाने के लिए उपयोग करें।
- RENAME : तालिका नाम या स्तंभ नाम बदलने के लिए।
- ADD table_constraint : तालिका में एक नई बाधा जोड़ने के लिए उपयोग करें यह क्रीट टेबल कमांड के समान सिंटैक्स का उपयोग करता है।
- DROP CONSTRAINT : एक टेबल बाधा को छोड़ने के लिए उपयोग करें।
- OWNER : एक तालिका, अनुक्रम, सूचकांक या एक निश्चित उपयोगकर्ता के लिए एक दृश्य के मालिक को बदलने के लिए।
- ग्राहक : भविष्य में क्लस्टर संचालन करने के लिए उपयोग की जाने वाली एक तालिका को चिह्नित करने के लिए।
एक कॉलम को संशोधित करना
एक कॉलम को कई तरीकों से संशोधित किया जा सकता है। इस तरह के संशोधनों को अलर्ट टेबल कमांड का उपयोग करके किया जा सकता है। आइए हम इन पर चर्चा करें:
एक नया कॉलम जोड़ना
PostgreSQL तालिका में एक नया कॉलम जोड़ने के लिए, निम्न सिंटैक्स के साथ ALTER TABLE कमांड का उपयोग किया जाता है:
ALTER TABLE table-nameADD new-column-name column-definition;
तालिका-नाम संशोधित करने वाली तालिका का नाम है।
नया कॉलम-नाम जोड़ा जाने वाले नए कॉलम का नाम है।
कॉलम-परिभाषा नए कॉलम का डेटा प्रकार है।
नीचे दी गई पुस्तक तालिका देखें:
तालिका में दो कॉलम, आईडी और नाम हैं। हमें तालिका में एक नया कॉलम जोड़ना होगा और इसे लेखक का नाम देना होगा। बस निम्नलिखित कमांड चलाएँ:
ALTER TABLE BookADD author VARCHAR(50);
उपरोक्त कमांड चलाने के बाद, बुक टेबल अब निम्नानुसार है:
नया कॉलम सफलतापूर्वक जोड़ा गया था।
तालिका स्तंभ का नाम बदलना
हम किसी स्तंभ का नाम बदलने के लिए ALTER TABLE कमांड का उपयोग कर सकते हैं। इस स्थिति में, कमांड का उपयोग निम्नलिखित सिंटैक्स के साथ किया जाता है:
ALTER TABLE table-nameRENAME COLUMN old-name TO new-name;
तालिका-नाम उस तालिका का नाम है जिसका स्तंभ नाम दिया जाना है।
पुराना नाम कॉलम का पुराना / वर्तमान नाम है।
नया-नाम स्तंभ का नया नाम है। नीचे दी गई तालिका बुक पर विचार करें:
पुस्तक:
हमें book_author पर कॉलम लेखक का नाम चाहिए। यहाँ आदेश है:
ALTER TABLE BookRENAME COLUMN author TO book_author;
कमांड चलाने के बाद, हम तालिका की संरचना देख सकते हैं:
कॉलम का नाम सफलतापूर्वक बदल दिया गया था।
एक कॉलम के लिए एक डिफ़ॉल्ट मान सेट करना
हम एक कॉलम के लिए एक डिफ़ॉल्ट मान सेट कर सकते हैं जैसे कि जब आप INSERT संचालन के दौरान उस स्तंभ के लिए कोई मान निर्दिष्ट नहीं करते हैं, तो डिफ़ॉल्ट मान का उपयोग किया जाएगा। इस स्थिति में, निम्न सारणी के साथ ALTER TABLE कमांड का उपयोग किया जा सकता है:
ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];
तालिका-नाम उस तालिका का नाम है जिसका स्तंभ संशोधित किया जाना है।
स्तंभ-नाम वह नाम है जिसके लिए डिफ़ॉल्ट मान सेट करना है।
मान स्तंभ के लिए डिफ़ॉल्ट मान है।
नीचे दी गई पुस्तक तालिका पर विचार करें:
हमें book_author कॉलम के लिए एक डिफ़ॉल्ट मान सेट करना होगा। हम निम्नलिखित कमांड चला सकते हैं:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
अब, तालिका में एक पंक्ति डालें:
INSERT INTO Book (id, name)VALUES (6, 'PostgreSQL for Beginners');
ध्यान दें कि हमने केवल दो कॉलम, आईडी और नाम के लिए मान सम्मिलित किए हैं। हालाँकि, book_author कॉलम के लिए डिफ़ॉल्ट मान का उपयोग किया गया है:
एक चेक बाधा जोड़ना
एक चेक बाधा एक तालिका में डाले जा रहे अभिलेखों को मान्य करने में मदद करती है। हम ADD CHECK स्टेटमेंट के साथ ALTER TABLE कमांड को मिलाकर ऐसा कर सकते हैं। वाक्य - विन्यास:
ALTER TABLE table-name ADD CHECK expression;
तालिका-नाम, तालिका का नाम बदल दिया जाता है।
अभिव्यक्ति तालिका स्तंभ पर लगाए जाने के लिए बाधा है।
आइए हम पुस्तक तालिका के book_author कॉलम को संशोधित करें ताकि यह केवल मान, निकोलस और शमूएल को स्वीकार करे:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));
अब, आइए हम निकोलस या सैमुअल के अलावा बुक टेबल के book_author कॉलम में एक मान सम्मिलित करने का प्रयास करें:
INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
कथन निम्न त्रुटि लौटाएगा:
सम्मिलित ऑपरेशन विफल हो गया क्योंकि हमने चेक की कमी का उल्लंघन किया।
एक तालिका का नाम बदलना
तालिका का नाम बदलने के लिए ALTER TABLE कमांड का सिंटैक्स यहां दिया गया है:
ALTER TABLE table-nameRENAME TO new-table-name;
तालिका-नाम तालिका का वर्तमान नाम है।
नया-तालिका-नाम तालिका को सौंपा जाने वाला नया नाम है।
उदाहरण के लिए, हमें पुस्तक तालिका का नाम बदलकर पुस्तक:
ALTER TABLE BookRENAME TO Books;
PgAdmin का उपयोग करना
अब देखते हैं कि pgAdmin का उपयोग करके इन क्रियाओं को कैसे किया जा सकता है।
एक नया कॉलम जोड़ना
PgAdmin के माध्यम से इसे पूरा करने के लिए, यह करें:
चरण 1) अपने pgAdmin खाते में लॉगिन करें।
चरण 2)
- बाईं ओर नेविगेशन बार से- डेटाबेस पर क्लिक करें।
- डेमो पर क्लिक करें।
चरण 3) क्वेरी संपादक में क्वेरी टाइप करें:
ALTER TABLE BookADD author VARCHAR(50);
चरण 4) निष्पादित बटन पर क्लिक करें।
चरण 5) यह जाँचने के लिए कि क्या स्तंभ जोड़ा गया है, निम्न कार्य करें:
- बाएँ नेविगेशन से डेटाबेस पर क्लिक करें।
- डेमो का विस्तार करें।
- स्कीम्स का विस्तार करें।
- जनता का विस्तार करें।
- टेबल्स का विस्तार करें।
- पुस्तक का विस्तार करें।
- स्तंभों का विस्तार करें।
कॉलम को जोड़ा जाना चाहिए था, जैसा कि नीचे दिखाया गया है:
तालिका स्तंभ का नाम बदलना
PgAdmin के माध्यम से इसे पूरा करने के लिए, यह करें:
चरण 1) अपने pgAdmin खाते में लॉगिन करें।
चरण 2)
- बाईं ओर नेविगेशन बार से- डेटाबेस पर क्लिक करें।
- डेमो पर क्लिक करें।
चरण 3) क्वेरी संपादक में क्वेरी टाइप करें:
ALTER TABLE BookRENAME COLUMN author TO book_author;
चरण 4) निष्पादित बटन पर क्लिक करें।
चरण 5) यह जांचने के लिए कि क्या परिवर्तन सफल था, निम्नलिखित करें:
- बाएँ नेविगेशन से डेटाबेस पर क्लिक करें।
- डेमो का विस्तार करें।
- स्कीम्स का विस्तार करें।
- जनता का विस्तार करें।
- टेबल्स का विस्तार करें।
- पुस्तक का विस्तार करें।
- स्तंभों का विस्तार करें।
कॉलम अब इस प्रकार होना चाहिए:
कॉलम को सफलतापूर्वक बदल दिया गया था।
एक कॉलम के लिए एक डिफ़ॉल्ट मान सेट करना
PgAdmin के माध्यम से इसे पूरा करने के लिए, यह करें:
चरण 1) अपने pgAdmin खाते में लॉगिन करें।
चरण 2)
- बाईं ओर नेविगेशन बार से- डेटाबेस पर क्लिक करें।
- डेमो पर क्लिक करें।
चरण 3) क्वेरी संपादक में क्वेरी टाइप करें:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
चरण 4) निष्पादित बटन पर क्लिक करें।
चरण 5) परीक्षण के लिए, क्वेरी संपादक पर निम्न कमांड चलाएँ:
INSERT INTO Book (id, name)VALUES (6, 'PostgreSQL for Beginners')
चरण 6) अब, हम यह जांचने के लिए तालिका को क्वेरी कर सकते हैं कि क्या book_author कॉलम में डिफ़ॉल्ट मान डाला गया है:
एक चेक बाधा जोड़ना
PgAdmin के माध्यम से इसे पूरा करने के लिए, यह करें:
चरण 1) अपने pgAdmin खाते में लॉगिन करें।
चरण 2)
- बाईं ओर नेविगेशन बार से- डेटाबेस पर क्लिक करें।
- डेमो पर क्लिक करें।
चरण 3) क्वेरी संपादक में क्वेरी टाइप करें:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))
चरण 4) निष्पादित बटन पर क्लिक करें।
चरण 5) इसका परीक्षण करने के लिए, निम्नलिखित करें:
- क्वेरी संपादक पर निम्न क्वेरी टाइप करें:
INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
- Execute बटन पर क्लिक करें।
यह निम्नलिखित लौटाएगा:
एक तालिका का नाम बदलना
PgAdmin के माध्यम से इसे पूरा करने के लिए, यह करें:
चरण 1) अपने pgAdmin खाते में लॉगिन करें।
चरण 2)
- बाईं ओर नेविगेशन बार से- डेटाबेस पर क्लिक करें।
- डेमो पर क्लिक करें।
चरण 3) क्वेरी संपादक में क्वेरी टाइप करें:
ALTER TABLE BookRENAME TO Books;
चरण 4) निष्पादित बटन पर क्लिक करें।
चरण 5) यह जांचने के लिए कि क्या तालिका का नाम बदला गया था, निम्न कार्य करें:
- बाएँ नेविगेशन से डेटाबेस पर क्लिक करें।
- डेमो का विस्तार करें।
- स्कीम्स का विस्तार करें।
- जनता का विस्तार करें।
- टेबल्स का विस्तार करें।
तालिका को सफलतापूर्वक नाम दिया गया था।
सारांश:
- तालिका की संरचना को संशोधित करने के लिए ALTER TABLE स्टेटमेंट का उपयोग किया जाता है।
- ALTER TABLE कमांड उस कार्य के आधार पर विभिन्न रूप लेती है, जिसे आपको प्रदर्शन करने की आवश्यकता होती है।
- संरचना टेबल कॉलम या टेबल ही हो सकती है।
- हम इस कथन का उपयोग तालिका के नाम को बदलने के लिए कर सकते हैं।
- किसी स्तंभ का डिफ़ॉल्ट मान सेट करने के लिए ALTER TABLE कमांड का उपयोग किया जा सकता है।
- बयान का उपयोग उन मानों को मान्य करने के लिए किया जा सकता है जो तालिका स्तंभ में दर्ज किए गए हैं।
इस ट्यूटोरियल में प्रयुक्त डेटाबेस डाउनलोड करें