如何将python列表作为列名称和值传递给MySQL insert语句

2024-06-02 07:03:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两张名单。。。 这是代码

field_name = ['Name', 'Age', 'Gender']
field_value = [('sathish','Twenty', 'Male'),('sam','Twenty_three', 'Male'), 
('suba','Twenty_one', 'FeMale')]

我的数据库中已经有表“test”,其中包含更多字段\ u名称 我需要动态地传递列名称和值

我的目标是创建一个insert语句,如

插入测试(*字段名称)值(*字段值)

假设我不知道列表值,即姓名、年龄、性别

如何为上面的列表创建insert语句以将值插入表中

提前谢谢

'qry = "insert into test_ex" + field_name + "values".format(%s)'
'crsr.execute(qry, field_Value)'

Tags: 代码nametest名称field列表age语句
1条回答
网友
1楼 · 发布于 2024-06-02 07:03:01

可以使用cursor.executemany()插入以querylist of tuples为参数的多行。 因此,您可以生成SQL查询并添加到executemany,如下所示:

cursor.executemany('INSERT INTO test (' + ', '.join(field_name) + ') VALUES (' + ', '.join(['%s' for i in range(len(field_name))]) + ')', field_value)

因此,对于上面的示例,这将成为cursor.executemany('INSERT INTO test (Name, Age, Gender) VALUES (%s, %s, %s)', field_value)

相关问题 更多 >