sql >> Database teknologi >  >> RDS >> PostgreSQL

Indsæt Python Dictionary ved hjælp af Psycopg2

from psycopg2.extensions import AsIs

song = {
    'title': 'song 1',
    'artist': 'artist 1'
}

columns = song.keys()
values = [song[column] for column in columns]

insert_statement = 'insert into song_table (%s) values %s'

    # cursor.execute(insert_statement, (AsIs(','.join(columns)), tuple(values)))
print cursor.mogrify(insert_statement, (AsIs(','.join(columns)), tuple(values)))

Udskrifter:

insert into song_table (artist,title) values ('artist 1', 'song 1')

Psychopg tilpasser en tuple til en record og AsIs gør, hvad der ville blive gjort ved Pythons strengsubstitution.



  1. Ryd Hibernate 2. niveaus cache efter manuel DB-opdatering

  2. Sender en række værdier til Oracle-proceduren til brug i WHERE IN-klausulen

  3. Generer en tilfældig dato i Oracle med DBMS_RANDOM

  4. PostgreSQL dato() med tidszone