从python lis删除MYSQL中的多行信息

2024-06-14 23:58:58 发布

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

如果列表LL:

LL = ['foo', bar', 'noo', 'boo',]

在MySQL表中,使用其他ID在列ID中进行测试

我可以使用以下命令删除LL中ID为的所有行:

 csr.execute("""DELETE FROM test.test WHERE ID = "Foo"; """)
  csr.execute("""DELETE FROM test.test WHERE ID = "bar"; """)  
  csr.execute("""DELETE FROM test.test WHERE ID = "noo"; """)
  csr.execute("""DELETE FROM test.test WHERE ID = "boo"; """)  

我怎么能用程序来做呢?在


Tags: fromtest命令id列表executefoomysql
3条回答
for item in LL:
    csr.execute("DELETE FROM test.test WHERE ID = '%s'", item)

像那样?在

您可以使用单个查询来完成此操作:

id_list = ['abc', 'def', 'ghi']
query_string = "delete from test where id in (%s)" % ','.join(['?'] * len(id_list))
cursor.execute(query_string, id_list)

因为光标.执行在执行替换时转义字符串,此示例对SQL注入是安全的。在

字符串格式化程序-http://docs.python.org/library/string.html#format-string-syntax

["""DELETE FROM test.test WHERE ID = "%s"; """ % x for x in LL]

然后运行列表中的每个SQL语句。在

相关问题 更多 >