# using text() # one big INSERT q = "INSERT IGNORE INTO network_tbl (nid, name) VALUES " binds = {} q += ', '.join(["(:nid_%d, %network_%d)" % (i, i) for i, nid in enumerate(networks)]) for i, nid in enumerate(networks): binds['nid_%d' % i] = nid binds['network_%d' % i] = networks[nid]['n'] engine.execute(text(q), binds) # executemany style: q = "INSERT IGNORE INTO network_tbl (nid, name) VALUES (:nid, :network)" binds = [{'nid':nid, 'network':networks[nid]['n']} for nid in networks] engine.execute(text(q), binds)