Мисля, че коментарът за използването на това с MySQL не е съвсем пълен. MySQLdb не извършва заместване на параметри в колоните, а само стойностите (IIUC) - така че може би повече като
placeholders = ', '.join(['%s'] * len(myDict))
columns = ', '.join(myDict.keys())
sql = "INSERT INTO %s ( %s ) VALUES ( %s )" % (table, columns, placeholders)
# valid in Python 2
cursor.execute(sql, myDict.values())
# valid in Python 3
cursor.execute(sql, list(myDict.values()))
Въпреки това няма да избягате от колоните, така че може да искате първо да ги проверите...
Вижте http://mail.python.org/pipermail/tutor/ 2010-декември/080701.html за по-пълно решение