PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Psycopg2 chèn từ điển python trong cơ sở dữ liệu postgres

Hai giải pháp:

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)

Đầu ra:

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. Loại cột PostgreSQL nào nên được sử dụng để lưu trữ một Java BigDecimal?

  2. Tìm kiếm có dấu + không phân biệt chữ hoa chữ thường PostgreSQL

  3. Liệt kê các ràng buộc cho tất cả các bảng có các chủ sở hữu khác nhau trong PostgreSQL

  4. Sử dụng đầu ra văn bản từ một hàm làm truy vấn mới

  5. Làm thế nào để tải dữ liệu vào gấu trúc từ một cơ sở dữ liệu lớn?