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

पायथन / psycopg2 का उपयोग करके एक बड़ी PostgreSQL तालिका में एक कॉलम को कुशलतापूर्वक कैसे अपडेट करें?

unnest यह सब एक साथ बनाने के लिए डेटा:

def create_random(i):
    return random() * i

curs.execute("select gid, number from t;")
data = curs.fetchall()

results = []
for i in data:
    results.append((create_random(i[1]), i[0]))

curs.execute("""
    update t
    set
        rnd = s.rnd,
        result = number * s.rnd
    from unnest(%s) s(rnd numeric, gid integer)
    where t.gid = s.gid;
""", (results,))

con.commit()

टेबल टी:

create table t (
    gid integer,
    number integer,
    rnd float,
    result float
);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एकाधिक जुड़ने का अनुकूलन

  2. PostgreSQL में फ़ंक्शन से गतिशील तालिका बनाएं

  3. PostgreSQL - DB उपयोगकर्ता को केवल फ़ंक्शन कॉल करने की अनुमति दी जानी चाहिए

  4. योग और उत्पन्न श्रृंखला postgresql में काम नहीं करती है

  5. PostgreSQL में एक तिथि से सप्ताह घटाएं