python中的动态mysql insert语句

2024-04-19 21:00:04 发布

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

我需要将csv中的列值更新到mysql数据库中,csv值是动态的,对于一个文件可能是10列,对于其他文件可能是5列。在

我在python中的理解我们需要使用list这个问题与我的要求类似,但是这里的值是静态的,所以可以预先定义,在我的情况下,动态需要一个解决方案,使%%s under的值根据我的列值动态乘以。在

MySQL Dynamic Query Statement in Python

   ds_list=['name','id','class','chapter','MTH','YEAR']

   vl_list=['xxxxx','978000048','x-grade','Science',mar,2017]

   sql = 'INSERT INTO ann1 (%s) VALUES (%%s, %%s, %%s, %%s, %%s, %%s)' %    ','.join(ds_list)

   cur.execute(sql, vl_list)

   conn.commit()

Tags: 文件csv数据库sql定义mysql静态ds
1条回答
网友
1楼 · 发布于 2024-04-19 21:00:04

因此,如果您有两个列表,一个带有标题,另一个带有值–您可以创建自己的动态插入查询。在

query_placeholders = ', '.join(['%s'] * len(vl_list))
query_columns = ', '.join(ds_list)

insert_query = ''' INSERT INTO table (%s) VALUES (%s) ''' %(query_columns, query_placeholders)

然后通过传递查询中的值来执行和提交查询。在

^{pr2}$

相关问题 更多 >