Skip to main content
 首页 » 编程设计

python之在 python 中进行单个插入查询

2025年05月04日12lori

我尝试为 template_list 数组中的值创建一个插入查询。这些值用于字段 template_name。

dir_template_list = ['template1', 'template2', 'template3'] 
sql = "INSERT INTO tbltemplate (template_name) VALUES(%s)" % (dir_template_list) 

是否有使用字符串占位符创建此查询的简单/更容易的方法?

INSERT INTO tbltemplate (template_name) VALUES ('template1'),('template2'),('template3') 

编辑:这是我实际的表结构

FIELD    
------- 
id             int(6)          
template_name  VARCHAR(128)  

请您参考如下方法:

首先,永远不要使用字符串格式来创建查询 - 否则您将面临 SQL 注入(inject)漏洞的风险,必须处理转义等问题。

正确的方法是对每一行使用单个查询并将数据作为参数传递:

sql = "INSERT INTO tbltemplate (template_name) VALUES (%s)" 
for template in dir_template_list: 
    conn.query(sql, (template,)) 

要提高性能,您可能希望在事务中或使用准备好的语句执行此操作。