使用原生 sql
插入数据库的时候, 如果字段太多会导致写起来太麻烦,就想了个自动生成插入语句的代码.
前提是字段名要和数据库一致, 如果不一致可以自己在加一层代码, 做一些键名映射.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| def insert(conn,table_name, data, sep='?'): cur = conn.cursor()
zipped = [] for key, value in data.items(): zipped.append((key, value))
keys, values = zip(*zipped)
sql = f"insert into {table_name}({', '.join(keys)}) values ({', '.join([sep for _ in range(len(values))])})" cur.execute(sql, values) conn.commit() cur.close()
|