sql >> データベース >  >> RDS >> PostgreSQL

Psycopg2はpostgresデータベースにPython辞書を挿入します

    2つの解決策:

    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)
    

    出力:

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


    1. クエリプランは何を伝えることができますか?

    2. 繰り返される場所の変更のタイムスタンプの差として期間を取得する

    3. インデックス作成を使用したMYSQLデータベースの最適化

    4. PDOでの複数のCreateTriggerクエリ