PostgreSQL सारणी: फ़ंक्शन, प्रकार, उदाहरण
⚡ स्मार्ट सारांश
PostgreSQL ऐरे फ़ंक्शन आपको किसी भी मान्य डेटा प्रकार के ऐरे के रूप में टेबल कॉलम को परिभाषित करने की अनुमति देता है। इसमें ऐरे कॉलम बनाना, ऐरे कंस्ट्रक्टर या कर्ली ब्रेसेस का उपयोग करके मान सम्मिलित करना, तत्वों को क्वेरी करना और संशोधित करना, और ANY() फ़ंक्शन का उपयोग करके खोजना शामिल है।
एचएमबी क्या है? PostgreSQL सरणी?
In PostgreSQLहम एक कॉलम को मान्य डेटा प्रकारों की एक सरणी के रूप में परिभाषित कर सकते हैं। डेटा प्रकार अंतर्निहित, उपयोगकर्ता-परिभाषित या एक गणना प्रकार हो सकता है। इसके अलावा, सरणियाँ महत्वपूर्ण भूमिका निभाती हैं। PostgreSQL.
प्रत्येक संगत PostgreSQL डेटा प्रकार के साथ एक संबंधित ऐरे प्रकार भी होता है। उदाहरण के लिए, पूर्णांक डेटा प्रकार का ऐरे प्रकार integer[] होता है, वर्ण डेटा प्रकार का ऐरे प्रकार character[] होता है, इत्यादि।
बनाना PostgreSQL Arrays
निम्नलिखित उदाहरण में, हम संपर्क कॉलम को टेक्स्ट सरणी के रूप में परिभाषित करते हुए कर्मचारी नामक एक तालिका बनाएंगे:
CREATE TABLE Employees ( id int PRIMARY KEY, name VARCHAR (100), contact TEXT [] );
आदेश सफलतापूर्वक चलना चाहिए.
सम्मिलित करना PostgreSQL सरणी मान
हमें बताओ डालने के उपरोक्त तालिका में मान दर्ज करें:
INSERT INTO Employees VALUES ( 1, 'Alice John', ARRAY [ '(408)-743-9045', '(408)-567-7834' ] );
सम्मिलन सफलतापूर्वक चलना चाहिए.
तीसरे कॉलम, यानी संपर्क, के मानों को एक ऐरे के रूप में डाला गया है। यह ARRAY कंस्ट्रक्टर के उपयोग से संभव हुआ है। इस उदाहरण में, हमने इन्हें वर्ग कोष्ठक [] के भीतर रखा है। कर्मचारी एलिस जॉन के लिए हमारे पास दो संपर्क हैं।
हमारे लिए अभी भी कर्ली ब्रेसेज़ {} का उपयोग करना संभव है, जैसा कि नीचे दिखाया गया है:
INSERT INTO Employees VALUES ( 2, 'Kate Joel', '{"(408)-783-5731"}' ), ( 3, 'James Bush', '{"(408)-745-8965","(408)-567-78234"}' );
आदेश सफलतापूर्वक चलना चाहिए.
उपरोक्त कथन कर्मचारी तालिका में दो पंक्तियाँ सम्मिलित करेंगे। कर्ली ब्रेसेज़ का उपयोग करते समय, सरणी को सिंगल कोट्स (') के अंदर लपेटा जाता है जबकि टेक्स्ट सरणी आइटम को डबल कोट्स (') के अंदर लपेटा जाता है।
सरणी डेटा क्वेरी करना
किसी ऐरे के तत्वों को क्वेरी करने के लिए, हम SELECT स्टेटमेंट का उपयोग करते हैं। अपनी Employees टेबल की सामग्री देखने के लिए, हम निम्न कमांड चलाते हैं:
SELECT * FROM Employees;
यह निम्नलिखित लौटाता है:
ऐरे कॉलम के तत्व, यानी संपर्क, घुंघराले कोष्ठकों {} के भीतर रखे गए हैं। ऐरे के तत्वों तक पहुँचने के लिए, हम वर्गाकार कोष्ठकों [] के भीतर एक सबस्क्रिप्ट जोड़ते हैं। ऐरे का पहला तत्व पहले स्थान पर होता है।
उदाहरण के लिए, हमें कर्मचारियों के नाम और उन कर्मचारियों के लिए केवल उनका पहला संपर्क पता चाहिए जिनके एक से अधिक संपर्क हैं। हम इसे contact[1] के रूप में प्राप्त कर सकते हैं। आइए इसे देखें:
SELECT name, contact[1] FROM Employees;
इससे निम्नलिखित परिणाम प्राप्त होंगे:
हम SELECT स्टेटमेंट और WHERE क्लॉज़ का उपयोग करके ऐरे कॉलम के आधार पर पंक्तियों को फ़िल्टर कर सकते हैं। उदाहरण के लिए, (408)-567-78234 को दूसरे संपर्क के रूप में रखने वाले कर्मचारी को देखने के लिए, हम निम्न कमांड चला सकते हैं:
SELECT name FROM Employees WHERE contact [ 2 ] = '(408)-567-78234';
इससे निम्नलिखित परिणाम प्राप्त होंगे:
संशोधित करना PostgreSQL ऐरे
आप किसी ऐरे के सभी या केवल एक एलिमेंट को अपडेट कर सकते हैं। एम्प्लॉइज़ टेबल की सामग्री इस प्रकार है:
आइये कर्मचारी जेम्स बुश का दूसरा फ़ोन नंबर अपडेट करें, जिसकी आईडी 3 है:
निम्न कमांड चलाएं:
UPDATE Employees SET contact [ 2 ] = '(408)-589-89347' WHERE id = 3;
आदेश सफलतापूर्वक चलना चाहिए:
आइए तालिका पर क्वेरी करके जाँचें कि क्या परिवर्तन सफल रहा:
परिवर्तन सफल रहा.
खोज में PostgreSQL ऐरे
वर्तमान में, हमारे कर्मचारियों की तालिका इस प्रकार है:
मान लीजिए कि हमें यह जानना है कि संपर्क (408)-783-5731 का मालिक कौन है, चाहे संपर्क सरणी में उसकी स्थिति कुछ भी हो। हम नीचे दिखाए अनुसार ANY() फ़ंक्शन का उपयोग कर सकते हैं:
SELECT name, contact FROM Employees WHERE '(408)-783-5731' = ANY (contact);
इससे निम्नलिखित परिणाम प्राप्त होंगे:
विस्तारित सरणी
हम एक ऐरे के मानों को पंक्तियों में विभाजित कर सकते हैं। इस प्रक्रिया को ऐरे विस्तार कहते हैं। एम्प्लॉइज़ टेबल के उदाहरण में, कुछ कर्मचारियों के कॉन्टैक्ट ऐरे में दो संपर्क हैं। हम इन्हें अलग-अलग पंक्तियों में विभाजित कर सकते हैं। PostgreSQL इसके लिए unnest() फ़ंक्शन उपलब्ध है जिसका उपयोग किया जा सकता है। उदाहरण के लिए:
SELECT name, unnest(contact) FROM Employees;
इससे निम्नलिखित परिणाम प्राप्त होंगे:
कर्मचारी एलिस जॉन और जेम्स बुश के दो संपर्क हैं। हम इन्हें अलग-अलग पंक्तियों में विभाजित कर सकते हैं।
pgAdmin का उपयोग करना
बनाना PostgreSQL Arrays
pgAdmin के माध्यम से ऐसा करने के लिए, यह करें:
चरण 1) अपने pgAdmin खाते में लॉगिन करें.
चरण 2)
- बाईं ओर स्थित नेविगेशन बार से, डेटाबेस पर क्लिक करें।
- डेमो बटन पर क्लिक करें।
चरण 3) कर्मचारी तालिका बनाने के लिए क्वेरी संपादक में क्वेरी टाइप करें:
CREATE TABLE Employees ( id int PRIMARY KEY, name VARCHAR (100), contact TEXT [] );
चरण 4) निष्पादित करें बटन पर क्लिक करें.
सम्मिलित करना PostgreSQL सरणी मान
चरण 1) क्वेरी संपादक में निम्नलिखित क्वेरी टाइप करें:
INSERT INTO Employees VALUES ( 1, 'Alice John', ARRAY [ '(408)-743-9045', '(408)-567-7834' ] );
चरण 2) निष्पादित करें बटन पर क्लिक करें:
चरण 3) क्वेरी में कर्ली ब्रैकेट का उपयोग करने के लिए, क्वेरी एडिटर में निम्नलिखित क्वेरी टाइप करें:
INSERT INTO Employees VALUES ( 2, 'Kate Joel', '{"(408)-783-5731"}' ), ( 3, 'James Bush', '{"(408)-745-8965","(408)-567-78234"}' );
फिर एक्जीक्यूट बटन पर क्लिक करें:
सरणी डेटा क्वेरी करना
चरण 1) एम्प्लॉइज़ टेबल की सामग्री देखने के लिए, क्वेरी एडिटर में निम्न क्वेरी टाइप करें:
SELECT * FROM Employees;
चरण 2) निष्पादित करें बटन पर क्लिक करें:
इसे निम्नलिखित लौटना चाहिए:
चरण 3) कर्मचारियों के पहले संपर्कों को देखने के लिए, क्वेरी एडिटर में निम्नलिखित क्वेरी टाइप करें और एक्ज़ीक्यूट बटन पर क्लिक करें:
SELECT name, contact[1] FROM Employees;
इसे निम्नलिखित लौटना चाहिए:
चरण 4) SELECT स्टेटमेंट को WHERE क्लॉज़ के साथ संयोजित करने के लिए, क्वेरी एडिटर में निम्न कमांड टाइप करें और Execute बटन पर क्लिक करें:
SELECT name FROM Employees WHERE contact [ 2 ] = '(408)-567-78234';
इसे निम्नलिखित लौटना चाहिए:
संशोधित करना PostgreSQL ऐरे
चरण 1) आईडी 3 वाले उपयोगकर्ता के दूसरे संपर्क को अपडेट करने के लिए, निम्न कमांड चलाएँ:
UPDATE Employees SET contact [ 2 ] = '(408)-589-89347' WHERE id = 3;
चरण 2) निष्पादित करें बटन पर क्लिक करें.
चरण 3) परिवर्तन सफल हुआ या नहीं, यह जांचने के लिए क्वेरी एडिटर में निम्न कमांड टाइप करें, फिर एक्ज़ीक्यूट बटन पर क्लिक करें:
SELECT * FROM Employees;
इसे निम्नलिखित लौटना चाहिए:
खोज में PostgreSQL ऐरे
चरण 1) क्वेरी संपादक में निम्नलिखित क्वेरी टाइप करें:
SELECT name, contact FROM Employees WHERE '(408)-783-5731' = ANY (contact);
चरण 2) निष्पादित करें बटन पर क्लिक करें.
इसे निम्नलिखित लौटना चाहिए:
विस्तारित सरणी
चरण 1) क्वेरी संपादक में निम्नलिखित क्वेरी टाइप करें:
SELECT name, unnest(contact) FROM Employees;
चरण 2) निष्पादित करें बटन पर क्लिक करें.
इसे निम्नलिखित लौटना चाहिए:
इस ट्यूटोरियल में प्रयुक्त डेटाबेस डाउनलोड करें































