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

Psycopg2 menyisipkan kamus python di database postgres

Dua solusi:

d = {'k1': 'v1', 'k2': 'v2'}

insert = 'insert into table (%s) values %s'
l = [(c, v) for c, v in d.items()]
columns = ','.join([t[0] for t in l])
values = tuple([t[1] for t in l])
cursor = conn.cursor()
print cursor.mogrify(insert, ([AsIs(columns)] + [values]))

keys = d.keys()
columns = ','.join(keys)
values = ','.join(['%({})s'.format(k) for k in keys])
insert = 'insert into table ({0}) values ({1})'.format(columns, values)
print cursor.mogrify(insert, d)

Keluaran:

insert into table (k2,k1) values ('v2', 'v1')
insert into table (k2,k1) values ('v2','v1')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara membuat pernyataan yang disiapkan postgres dinamis di PHP

  2. Menyimpan acara saat menggunakan Sumber Acara

  3. Kolom SELECT AS tidak ada di klausa WHERE

  4. Haruskah hibernasi menggunakan urutan unik untuk setiap tabel?

  5. Bagaimana Anda JSON Marshall pq.NullTime di UTC daripada zona waktu lokal?