Python 将字典转换为字符串并按每个键值对分隔

Python 将字典转换为字符串并按每个键值对分隔,python,mysql,Python,Mysql,我正在尝试编写一个简单的函数来从python字典更新MySQL表: data = {'foo':1, 'bar':2} table = 'mytable' pk = 'mypk' pk_value = 1 sql = '' sql += 'UPDATE ' + table sql += 'SET ' + convert_dict_to_str(data) sql += 'WHERE ' + pk sql += ' = ' + pk_value sql += ';' def convert_

我正在尝试编写一个简单的函数来从python字典更新MySQL表:

data = {'foo':1, 'bar':2}
table = 'mytable'
pk = 'mypk'
pk_value = 1

sql = ''
sql += 'UPDATE ' + table
sql += 'SET ' + convert_dict_to_str(data)
sql += 'WHERE ' + pk
sql += ' = ' + pk_value
sql += ';'


def convert_dict_to_str(data):
    result = ''
    for key in data:
        result += "{key} = {value}".format(key=key, value=data[key])   
    return result

print convert_dict_to_str(data)
但是我被困在如何将dict转换成“key=value,key=value”? 在我的示例中,所需的输出应为:

 'foo = 1, bar = 2'
像这样的

>>> ", ".join(["=".join([key, str(val)]) for key, val in data.items()])
'foo=1, bar=2'

代码怎么了?我的第一眼看上去不错。你应该使用参数化语句,而不是像这样构建易于SQL注入的语句。嗨@Pedro,你能告诉我更多关于这方面的信息吗?,我的意思是如何实现你所说的。你使用的是哪个MySQL DB API 2.0驱动程序,这样我就可以在它的文档中为你指出正确的位置?您可以在此处阅读有关SQL注入的更多信息:您可以查看以下使用参数的示例:。对于您的案例来说,最有趣的是最后一个多行插入示例。