PostgreSQL सारणी: फ़ंक्शन, प्रकार, उदाहरण

⚡ स्मार्ट सारांश

PostgreSQL ऐरे फ़ंक्शन आपको किसी भी मान्य डेटा प्रकार के ऐरे के रूप में टेबल कॉलम को परिभाषित करने की अनुमति देता है। इसमें ऐरे कॉलम बनाना, ऐरे कंस्ट्रक्टर या कर्ली ब्रेसेस का उपयोग करके मान सम्मिलित करना, तत्वों को क्वेरी करना और संशोधित करना, और ANY() फ़ंक्शन का उपयोग करके खोजना शामिल है।

  • 📦 परिभाषा: कोई PostgreSQL डेटा प्रकार का एक मिलान करने वाला सरणी प्रकार है, जैसे कि integer[]।
  • 🧱 बनाएँ और डालें: TEXT[] कॉलम और ARRAY कंस्ट्रक्टर या कर्ली ब्रेसेस का उपयोग करें।
  • 🔎 प्रश्न: सबस्क्रिप्ट वाले तत्वों तक पहुंचें; पहला तत्व स्थिति 1 पर है।
  • संशोधित करें और खोजें: ANY() का उपयोग करके एकल तत्वों को अपडेट करें और मानों को खोजें।
  • विस्तार: unnest() फ़ंक्शन ऐरे के मानों को अलग-अलग पंक्तियों में विभाजित करता है।

PostgreSQL ऐरे

एचएमबी क्या है? PostgreSQL सरणी?

In PostgreSQLहम एक कॉलम को मान्य डेटा प्रकारों की एक सरणी के रूप में परिभाषित कर सकते हैं। डेटा प्रकार अंतर्निहित, उपयोगकर्ता-परिभाषित या एक गणना प्रकार हो सकता है। इसके अलावा, सरणियाँ महत्वपूर्ण भूमिका निभाती हैं। PostgreSQL.

प्रत्येक संगत PostgreSQL डेटा प्रकार के साथ एक संबंधित ऐरे प्रकार भी होता है। उदाहरण के लिए, पूर्णांक डेटा प्रकार का ऐरे प्रकार integer[] होता है, वर्ण डेटा प्रकार का ऐरे प्रकार character[] होता है, इत्यादि।

बनाना PostgreSQL Arrays

निम्नलिखित उदाहरण में, हम संपर्क कॉलम को टेक्स्ट सरणी के रूप में परिभाषित करते हुए कर्मचारी नामक एक तालिका बनाएंगे:

CREATE TABLE Employees (
   id int PRIMARY KEY,
   name VARCHAR (100),
   contact TEXT []
);

आदेश सफलतापूर्वक चलना चाहिए.

बनाना PostgreSQL Arrays

सम्मिलित करना PostgreSQL सरणी मान

हमें बताओ डालने के उपरोक्त तालिका में मान दर्ज करें:

INSERT INTO Employees
VALUES
   (
      1,
      'Alice John',
      ARRAY [ '(408)-743-9045',
      '(408)-567-7834' ]
   );

सम्मिलन सफलतापूर्वक चलना चाहिए.

सम्मिलित करना PostgreSQL सरणी मान

तीसरे कॉलम, यानी संपर्क, के मानों को एक ऐरे के रूप में डाला गया है। यह ARRAY कंस्ट्रक्टर के उपयोग से संभव हुआ है। इस उदाहरण में, हमने इन्हें वर्ग कोष्ठक [] के भीतर रखा है। कर्मचारी एलिस जॉन के लिए हमारे पास दो संपर्क हैं।

हमारे लिए अभी भी कर्ली ब्रेसेज़ {} का उपयोग करना संभव है, जैसा कि नीचे दिखाया गया है:

INSERT INTO Employees
VALUES
   (
    2,
      'Kate Joel',
      '{"(408)-783-5731"}'
   ),
   (
      3,
      'James Bush',
      '{"(408)-745-8965","(408)-567-78234"}'
   );

आदेश सफलतापूर्वक चलना चाहिए.

सम्मिलित करना PostgreSQL सरणी मान

उपरोक्त कथन कर्मचारी तालिका में दो पंक्तियाँ सम्मिलित करेंगे। कर्ली ब्रेसेज़ का उपयोग करते समय, सरणी को सिंगल कोट्स (') के अंदर लपेटा जाता है जबकि टेक्स्ट सरणी आइटम को डबल कोट्स (') के अंदर लपेटा जाता है।

सरणी डेटा क्वेरी करना

किसी ऐरे के तत्वों को क्वेरी करने के लिए, हम 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 ऐरे

आप किसी ऐरे के सभी या केवल एक एलिमेंट को अपडेट कर सकते हैं। एम्प्लॉइज़ टेबल की सामग्री इस प्रकार है:

संशोधित करना PostgreSQL ऐरे

आइये कर्मचारी जेम्स बुश का दूसरा फ़ोन नंबर अपडेट करें, जिसकी आईडी 3 है:

संशोधित करना PostgreSQL ऐरे

निम्न कमांड चलाएं:

UPDATE Employees
SET contact [ 2 ] = '(408)-589-89347'
WHERE
   id = 3;

आदेश सफलतापूर्वक चलना चाहिए:

संशोधित करना PostgreSQL ऐरे

आइए तालिका पर क्वेरी करके जाँचें कि क्या परिवर्तन सफल रहा:

संशोधित करना PostgreSQL ऐरे

परिवर्तन सफल रहा.

खोज में PostgreSQL ऐरे

वर्तमान में, हमारे कर्मचारियों की तालिका इस प्रकार है:

खोज में PostgreSQL ऐरे

मान लीजिए कि हमें यह जानना है कि संपर्क (408)-783-5731 का मालिक कौन है, चाहे संपर्क सरणी में उसकी स्थिति कुछ भी हो। हम नीचे दिखाए अनुसार ANY() फ़ंक्शन का उपयोग कर सकते हैं:

SELECT
   name,
   contact
FROM
   Employees
WHERE
   '(408)-783-5731' = ANY (contact);

इससे निम्नलिखित परिणाम प्राप्त होंगे:

खोज में PostgreSQL ऐरे

विस्तारित सरणी

हम एक ऐरे के मानों को पंक्तियों में विभाजित कर सकते हैं। इस प्रक्रिया को ऐरे विस्तार कहते हैं। एम्प्लॉइज़ टेबल के उदाहरण में, कुछ कर्मचारियों के कॉन्टैक्ट ऐरे में दो संपर्क हैं। हम इन्हें अलग-अलग पंक्तियों में विभाजित कर सकते हैं। PostgreSQL इसके लिए unnest() फ़ंक्शन उपलब्ध है जिसका उपयोग किया जा सकता है। उदाहरण के लिए:

SELECT
   name,
   unnest(contact)
FROM
   Employees;

इससे निम्नलिखित परिणाम प्राप्त होंगे:

विस्तारित सरणी

कर्मचारी एलिस जॉन और जेम्स बुश के दो संपर्क हैं। हम इन्हें अलग-अलग पंक्तियों में विभाजित कर सकते हैं।

pgAdmin का उपयोग करना

बनाना PostgreSQL Arrays

pgAdmin के माध्यम से ऐसा करने के लिए, यह करें:

चरण 1) अपने pgAdmin खाते में लॉगिन करें.

चरण 2)

  1. बाईं ओर स्थित नेविगेशन बार से, डेटाबेस पर क्लिक करें।
  2. डेमो बटन पर क्लिक करें।

बनाना PostgreSQL pgAdmin का उपयोग करके Arrays

चरण 3) कर्मचारी तालिका बनाने के लिए क्वेरी संपादक में क्वेरी टाइप करें:

CREATE TABLE Employees (
   id int PRIMARY KEY,
   name VARCHAR (100),
   contact TEXT []
);

चरण 4) निष्पादित करें बटन पर क्लिक करें.

बनाना PostgreSQL pgAdmin का उपयोग करके Arrays

सम्मिलित करना PostgreSQL सरणी मान

चरण 1) क्वेरी संपादक में निम्नलिखित क्वेरी टाइप करें:

INSERT INTO Employees
VALUES
   (
      1,
      'Alice John',
      ARRAY [ '(408)-743-9045',
      '(408)-567-7834' ]
   );

चरण 2) निष्पादित करें बटन पर क्लिक करें:

सम्मिलित करना PostgreSQL सरणी मान

चरण 3) क्वेरी में कर्ली ब्रैकेट का उपयोग करने के लिए, क्वेरी एडिटर में निम्नलिखित क्वेरी टाइप करें:

INSERT INTO Employees
VALUES
   (
    2,
      'Kate Joel',
      '{"(408)-783-5731"}'
   ),
   (
      3,
      'James Bush',
      '{"(408)-745-8965","(408)-567-78234"}'
   );

फिर एक्जीक्यूट बटन पर क्लिक करें:

सम्मिलित करना PostgreSQL सरणी मान

सरणी डेटा क्वेरी करना

चरण 1) एम्प्लॉइज़ टेबल की सामग्री देखने के लिए, क्वेरी एडिटर में निम्न क्वेरी टाइप करें:

SELECT * FROM Employees;

चरण 2) निष्पादित करें बटन पर क्लिक करें:

pgAdmin का उपयोग करके ऐरे डेटा क्वेरी करना

इसे निम्नलिखित लौटना चाहिए:

pgAdmin का उपयोग करके ऐरे डेटा क्वेरी करना

चरण 3) कर्मचारियों के पहले संपर्कों को देखने के लिए, क्वेरी एडिटर में निम्नलिखित क्वेरी टाइप करें और एक्ज़ीक्यूट बटन पर क्लिक करें:

SELECT name, contact[1]
FROM Employees;

pgAdmin का उपयोग करके ऐरे डेटा क्वेरी करना

इसे निम्नलिखित लौटना चाहिए:

pgAdmin का उपयोग करके ऐरे डेटा क्वेरी करना

चरण 4) SELECT स्टेटमेंट को WHERE क्लॉज़ के साथ संयोजित करने के लिए, क्वेरी एडिटर में निम्न कमांड टाइप करें और Execute बटन पर क्लिक करें:

SELECT
   name
FROM
   Employees
WHERE
   contact [ 2 ] = '(408)-567-78234';

pgAdmin का उपयोग करके ऐरे डेटा क्वेरी करना

इसे निम्नलिखित लौटना चाहिए:

pgAdmin का उपयोग करके ऐरे डेटा क्वेरी करना

संशोधित करना PostgreSQL ऐरे

चरण 1) आईडी 3 वाले उपयोगकर्ता के दूसरे संपर्क को अपडेट करने के लिए, निम्न कमांड चलाएँ:

UPDATE Employees
SET contact [ 2 ] = '(408)-589-89347'
WHERE
   id = 3;

चरण 2) निष्पादित करें बटन पर क्लिक करें.

संशोधित करना PostgreSQL pgAdmin का उपयोग करके सरणी

चरण 3) परिवर्तन सफल हुआ या नहीं, यह जांचने के लिए क्वेरी एडिटर में निम्न कमांड टाइप करें, फिर एक्ज़ीक्यूट बटन पर क्लिक करें:

SELECT * FROM Employees;

संशोधित करना PostgreSQL pgAdmin का उपयोग करके सरणी

इसे निम्नलिखित लौटना चाहिए:

संशोधित करना PostgreSQL pgAdmin का उपयोग करके सरणी

खोज में PostgreSQL ऐरे

चरण 1) क्वेरी संपादक में निम्नलिखित क्वेरी टाइप करें:

SELECT
   name,
   contact
FROM
   Employees
WHERE
   '(408)-783-5731' = ANY (contact);

चरण 2) निष्पादित करें बटन पर क्लिक करें.

खोज में PostgreSQL pgAdmin का उपयोग करके सरणी

इसे निम्नलिखित लौटना चाहिए:

खोज में PostgreSQL pgAdmin का उपयोग करके सरणी

विस्तारित सरणी

चरण 1) क्वेरी संपादक में निम्नलिखित क्वेरी टाइप करें:

SELECT
   name,
   unnest(contact)
FROM
   Employees;

चरण 2) निष्पादित करें बटन पर क्लिक करें.

pgAdmin का उपयोग करके सारणी का विस्तार करना

इसे निम्नलिखित लौटना चाहिए:

pgAdmin का उपयोग करके सारणी का विस्तार करना

इस ट्यूटोरियल में प्रयुक्त डेटाबेस डाउनलोड करें

अक्सर पूछे जाने वाले प्रश्न

जी हां। एआई सहायक ऐरे कॉलम के साथ CREATE TABLE स्टेटमेंट लिख सकते हैं, ARRAY या कर्ली ब्रैकेट का उपयोग करके INSERT कमांड लिख सकते हैं, और unnest() या ANY() जैसे फ़ंक्शन का उपयोग कर सकते हैं। जेनरेट किए गए SQL को चलाने से पहले अपने स्कीमा पर उसका परीक्षण कर लें।

जी हां। एआई टूल्स यह सलाह दे सकते हैं कि आपके डेटा के लिए ऐरे कॉलम या नॉर्मलाइज़्ड चाइल्ड टेबल उपयुक्त है या नहीं। ऐरे छोटी, निश्चित सूचियों के लिए उपयुक्त होते हैं, जबकि अलग-अलग टेबल बड़े या बार-बार क्वेरी किए जाने वाले संबंधों के लिए उपयुक्त होते हैं। अपने क्वेरी पैटर्न के साथ इसकी पुष्टि करें।

array_length(array, dimension) फ़ंक्शन का उपयोग करें। उदाहरण के लिए, array_length(contact, 1) फ़ंक्शन contact एरे के पहले आयाम में मौजूद तत्वों की संख्या लौटाता है।

हाँ। array_append(array, value) फ़ंक्शन या संयोजन ऑपरेटर || का उपयोग करें। उदाहरण के लिए, UPDATE Employees SET contact = array_append(contact, '(408)-000-0000') एक नया तत्व जोड़ता है।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: