python - 从字典创建 SQL 查询

标签 python mysql sql dictionary

我有一个更新数据库 (MySQL) 中条目的函数,它需要尽可能动态。

该函数允许 API 用户传递记录的 id,然后 kwargs 来处理要更改的值(可以传递的值数量没有限制)。

假设我从 kwargs 那里得到了这本字典

{'hello':'world', 'foo':'bar'}

有什么方法可以在更新语句中使用它。

UPDATE myTable
SET key_n = val_n, key_n+1 = val_n+1, ...
WHERE id = the_id_passed_to_the_function

提前致谢。

最佳答案

试试这个:

def UpdateQuery(data,where):
    if isinstance(data, dict) and where:
        vals = ','.join(["%s=?" %(k) for k,v in data.iteritems()])
        query = "update myTable set %s where id=?" % (vals)
        res = cr.execute(query,where)

关于python - 从字典创建 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20118022/

相关文章:

python - 设置 pandas Dataframe Boxplot() 的 y 轴刻度,3 个偏差?

Python程序从FFPROBE生成的JSON文件中读取并提取特定信息

mysql - com.vividsolutions.jts.geom.Point 的 AttributeConverter 被忽略

mysql - 改进长 mysql 查询

sql - ORDER BY 仅适用于列别名

python - Opencv错误初始化完成

python - 如何获取scikit-learn的DecisionTreeRegressor中节点的MSE?

ASP.NET MVC EF 调用带输出参数的 MySQL 存储过程

mysql - 在mysql中获取学生的相关科目

sql - 如何使用日期范围计算最长连胜