PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Menyisipkan beberapa baris menggunakan psycopg2

Untuk menggunakan metode eksekusi, tempatkan data yang akan dimasukkan ke dalam daftar. Daftar akan diadaptasi oleh psycopg2 ke array. Kemudian Anda menghapus sarang array dan memberikan nilai seperlunya

import psycopg2

insert = """
    insert into history ("timestamp")
    select value
    from unnest(%s) s(value timestamp)
    returning *
;"""

data = [('2014-04-27 14:07:30.000000',), ('2014-04-27 14:07:35.000000',)]
conn = psycopg2.connect("host=localhost4 port=5432 dbname=cpn")
cursor = conn.cursor()
cursor.execute(insert, (data,))
print cursor.fetchall()
conn.commit()
conn.close()

Tidak yakin apakah perbedaan kinerja dari executemany akan signifikan. Tapi menurut saya di atas lebih rapi. returning klausa akan, seperti namanya, mengembalikan tupel yang dimasukkan.

BTW timestamp adalah kata yang dicadangkan dan tidak boleh digunakan sebagai nama kolom.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memotong semua tabel dalam database Postgres

  2. Mengurutkan nilai kolom yang berbeda dengan (nilai pertama) kolom lain dalam fungsi agregat

  3. Delegasikan System.Action<dynamic,int> tidak mengambil argumen `1'

  4. Penggabungan Koneksi dengan PostgreSQL JDBC

  5. PostgreSQL mengatur bidang objek JSON dalam array JSON