PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PostgreSQL में ऐरे को कैसे अपडेट करें

PostgreSQL सरणी डेटा प्रकार के साथ काम करना आसान बनाता है। कभी-कभी आपको नए डेटा के साथ PostgreSQL में सरणी को अपडेट करने की आवश्यकता हो सकती है। इस लेख में, हम देखेंगे कि PostgreSQL में सरणी कैसे बदलें, PostgreSQL में सरणी संशोधित करें, और PostgreSQL में सरणी मर्ज करें।


PostgreSQL में ऐरे को कैसे अपडेट करें

यहाँ PostgreSQL में सरणी को अद्यतन करने के विभिन्न तरीके दिए गए हैं। मान लें कि आपके पास निम्न सरणी स्तंभ है।

# create table employees ( 
     id int, 
     name varchar, 
     sales integer[] 
);

उपरोक्त उदाहरण में, हमने बिक्री . कॉलम बनाया है पूर्णांकों की एक सरणी के रूप में।

आइए हम अपने सरणी कॉलम में डेटा भी डालें।

# insert into employees (id, name, sales)
          values (1, ' John Doe', ARRAY [9,7,5,4,3,2]),
                 (2, ' Jim Day', ARRAY [8,6,3,2,9,2]);

# select * from employees;
 id |   name    |     sales
----+-----------+---------------
  1 |  John Doe | {9,7,5,4,3,2}
  2 |  Jim Day  | {8,6,3,2,9,2}


एक सरणी में सभी तत्वों को बदलें

आप UPDATE… SET कथन का उपयोग करके किसी सरणी के सभी तत्वों को आसानी से बदल सकते हैं।

# update employees 
  set sales = '{10,12,31,10,11}' 
  where id=1;

# select * from employees;
 id |   name    |      sales
----+-----------+------------------
  2 |  Jim Day  | {8,6,3,2,9,2}
  1 |  John Doe | {10,12,31,10,11}

उपरोक्त अद्यतन विवरण में, हम सिंगल कोट्स में संलग्न घुंघराले ब्रेसिज़ के भीतर सरणी मान प्रदान करते हैं। पोस्टग्रेज़ WHERE स्थिति से मेल खाने वाली पंक्तियों के लिए संपूर्ण सरणी को बदल देगा।


ऐरे में कुछ तत्वों को बदलें

आप नीचे दिखाए गए अनुसार विशिष्ट सरणी तत्वों को भी बदल सकते हैं।

=# update employees
             set sales[2] = 41
             where id=1;

# select * from employees;
 id |   name    |      sales
----+-----------+------------------
  2 |  Jim Day  | {8,6,3,2,9,2}
  1 |  John Doe | {10,41,31,10,11}

उपरोक्त कथन में, हम बिक्री [2] मान सेट करके केवल दूसरे सरणी तत्व को प्रतिस्थापित करते हैं।


ऐरे में जोड़ें और तैयार करें

आप array_append . का उपयोग करके अपनी सरणी में मानों को जोड़ और प्रीपेन्ड भी कर सकते हैं और array_prepend क्रमशः कार्य करता है, जैसा कि नीचे दिखाया गया है।

# update employees
             set sales = array_append(sales, 1)
             where id=1;

# select * from employees;
 id |   name    |       sales
----+-----------+--------------------
  2 |  Jim Day  | {8,6,3,2,9,2}
  1 |  John Doe | {10,41,31,10,11,1}

यहाँ एक सरणी को जोड़ने के लिए क्वेरी है।

# update employees
           set sales = array_prepend(9,sales)
           where id=1;

# select * from employees;
 id |   name    |        sales
----+-----------+----------------------
  2 |  Jim Day  | {8,6,3,2,9,2}
  1 |  John Doe | {9,10,41,31,10,11,1}

कृपया ध्यान दें, array_append . में , आपको फ़ंक्शन में दूसरे तर्क के रूप में जोड़े जाने वाले मान को निर्दिष्ट करने की आवश्यकता है। array_prepend . के मामले में , आपको इसे पहले तत्व के रूप में निर्दिष्ट करने की आवश्यकता है।


सरणी तत्व निकालें

इसी तरह, आप array_remove . का उपयोग कर सकते हैं सरणी से तत्व को हटाने के लिए कार्य करें।

# select array_remove(sales, 9) as reduced_array from employees where id=1;
   reduced_array
--------------------
 {10,41,31,10,11,1}

array_remove . में आपको उस सरणी तत्व को निर्दिष्ट करने की आवश्यकता है जिसे आप हटाना चाहते हैं।


अरे को PostgreSQL में मर्ज करें

आप array_cat . का उपयोग करके PostgreSQL में दो सरणियों को मर्ज कर सकते हैं समारोह

# select array_cat(sales, '{9,3}') as merged_array 
           from employees where id=1;
       merged_array
--------------------------
 {9,10,41,31,10,11,1,9,3}

# select array_cat(array[1,2],'{9,3}') as merged_array 
      from employees where id=1;
 merged_array
--------------
 {1,2,9,3}

array_cat . में फ़ंक्शन, आप सरणी कॉलम पास कर सकते हैं या ARRAY शाब्दिक वस्तु का उपयोग कर सकते हैं।

PostgreSQL के लिए रिपोर्टिंग टूल की आवश्यकता है? Ubiq मिनटों में डेटा को विज़ुअलाइज़ करना और रीयल-टाइम डैशबोर्ड में मॉनिटर करना आसान बनाता है। इसे आज ही आजमाएं!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql में किसी क्वेरी को कैसे रोकें/मारें?

  2. STRICT संशोधक के बिना कार्य तेजी से निष्पादित होता है?

  3. अचार के साथ पोस्टग्रेज टेबल में अजगर वस्तु को सहेजना

  4. JDBC प्रकार के लिए कोई बोली मानचित्रण नहीं:2003

  5. प्रोमेथियस के साथ अपने पोस्टग्रेएसक्यूएल मॉनिटरिंग को निजीकृत करने का एक नया तरीका