Answers for "psql insert data into table"

SQL
-1

insert record into table postgresql

try:
        connection = psycopg2.connect(**postgres_credentials())
        cursor = connection.cursor()

        records = [(1,'FOO'),(2,'SPAM')]

        placeholders = ','.join(['%s']*len(records)) # => '%s,%s'
        sql = f"""
            INSERT INTO schema.table(id, field)
            VALUES {placeholders}
        """
                       
        # Mogrify helpful to debug command sent to DB bc transforms command into human readable form. 
        # It's not necessary. Could just use executemany, but slower & harder to debug command as SO suggests.
        insert_statement = cursor.mogrify(sql, records)
        # print(insert_statement.decode('utf-8'))

        cursor.execute(insert_statement)
        # cursor.executemany(sql, records) # SLOW bc executes and commits each record one at a time.
        # print(cursor.mogrify(sql, records).decode('utf-8'))

        connection.commit()

    except psycopg2.DatabaseError:
        raise
    finally:
        if not connection.closed:
            cursor.close()
            connection.close()
Posted by: Guest on May-20-2021

Code answers related to "SQL"

Browse Popular Code Answers by Language