通过python在mysql中插入动态定义值



我使用以下python代码在MySQL表中插入4个条目。database

for i,row in empdata.iterrows():
sql = "INSERT INTO products VALUES (%s,%s,%s,%s)"
cursor.execute(sql, tuple(row))

如果我有20列,我不想在VALUES后面写20 times %s。另一种情况是30个值。有没有别的写法?

您可以使用字符串Python乘数运算符来优化此任务,在本例中为n,即需要包含在字符串中的元素数量:

n = 20
sql = "INSERT INTO products VALUES (" + ("%s, "*n)[:-2] + ")"
print(sql)

输出:

INSERT INTO products VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)

最新更新