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

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

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

प्रत्येक संगत PostgreSQL डेटा प्रकार एक प्रासंगिक सरणी प्रकार के साथ आता है। उदाहरण के लिए, पूर्णांक डेटा प्रकार में पूर्णांक[] सरणी प्रकार होता है, वर्ण डेटा प्रकार में वर्ण[] सरणी प्रकार होता है, आदि।

बनाना 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 कथन का उपयोग करते हैं।

हमारे कर्मचारी तालिका की सामग्री देखने के लिए, हम निम्नलिखित कमांड चलाते हैं:

SELECT * FROM Employees;

यह निम्नलिखित लौटाता है:

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

सरणी कॉलम के तत्व, अर्थात संपर्क, को घुमावदार ब्रेसेज़ {} के भीतर संलग्न किया गया है।

सरणी तत्वों तक पहुँचने के लिए, हम वर्गाकार कोष्ठकों [] में एक सबस्क्रिप्ट जोड़ते हैं। सरणी में पहला तत्व स्थान 1 पर होता है।

उदाहरण के लिए, हमें उन कर्मचारियों के नाम और केवल उनका पहला संपर्क प्राप्त करने की आवश्यकता है जिनके पास एक से अधिक संपर्क हैं। हम इसे संपर्क[1] के रूप में एक्सेस कर सकते हैं।

आइये इसे देखें:

SELECT name, contact[1]
FROM Employees;

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

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

हम सरणी कॉलम के आधार पर पंक्तियों को फ़िल्टर करने के लिए WHERE क्लॉज़ के साथ SELECT कथन का उपयोग कर सकते हैं।

उदाहरण के लिए, (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. बाईं ओर स्थित नेविगेशन बार से rbases पर क्लिक करें।
  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)

क्वेरी में कर्ली ब्रेसेज़ का उपयोग करने के लिए

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

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

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

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

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

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

SELECT * FROM Employees;

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

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

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

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

चरण 3) कर्मचारियों के प्रथम संपर्क देखने के लिए:

  1. क्वेरी संपादक में निम्नलिखित क्वेरी टाइप करें:
    SELECT name, contact[1]
    FROM Employees;
    
  2. निष्पादित करें बटन पर क्लिक करें.

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

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

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

चरण 4) SELECT कथन को WHERE क्लॉज़ के साथ संयोजित करने के लिए:

  1. क्वेरी एडिटर पर निम्नलिखित कमांड टाइप करें:
    SELECT
       name
    FROM
       Employees
    WHERE
       contact [ 2 ] = '(408)-567-78234';
    
  2. निष्पादित करें बटन पर क्लिक करें.

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

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

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

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

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

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

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

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

चरण 3)

1.परिवर्तन सफल हुआ या नहीं, यह जाँचने के लिए क्वेरी एडिटर पर निम्न कमांड टाइप करें:

SELECT * FROM Employees;

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

संशोधित करना 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 का उपयोग करके सारणी का विस्तार करना

सारांश

  • PostgreSQL हमें एक तालिका स्तंभ को एक सारणी प्रकार के रूप में परिभाषित करने की अनुमति देता है।
  • सरणी वैध होनी चाहिए डाटा प्रकार जैसे पूर्णांक, वर्ण, या उपयोगकर्ता-परिभाषित प्रकार।
  • किसी ऐरे कॉलम में मान डालने के लिए, हम ARRAY कन्स्ट्रक्टर का उपयोग करते हैं।
  • यदि किसी सारणी स्तंभ की एक ही पंक्ति में एक से अधिक तत्व हैं, तो पहला तत्व स्थान 1 पर होगा।
  • प्रत्येक मान को वर्गाकार कोष्ठकों [] में एक सबस्क्रिप्ट पास करके प्राप्त किया जा सकता है।
  • सारणी के तत्वों को SELECT कथन का उपयोग करके पुनः प्राप्त किया जा सकता है।
  • सरणी कॉलम के मानों को वर्गाकार कोष्ठकों [] या घुमावदार कोष्ठकों {} के भीतर रखा जा सकता है।
  • हम ANY() फ़ंक्शन का उपयोग करके सरणी कॉलम मानों की खोज कर सकते हैं।

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

दैनिक गुरु99 समाचार पत्र

अपने दिन की शुरुआत अभी प्राप्त नवीनतम और सबसे महत्वपूर्ण AI समाचारों के साथ करें।