sql >> Databasteknik >  >> RDS >> PostgreSQL

Psycopg2 infoga python-ordbok i postgres-databasen

Två lösningar:

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)

Utdata:

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


  1. MySQL - uppdaterar alla poster för att matcha maxvärdet i gruppen

  2. Vad är Greenplum Database? Introduktion till Big Data-databasen

  3. ADDDATE() Exempel – MySQL

  4. Hur man säkerhetskopierar och återställer en PostgreSQL-databas