在学习如何更新数据时,构造了这样的sql语句。
sql = 'INSERT INTO {table}({keys}) VALUES ({values}) ON DUPLICATE KEY UPDATE '.format(table=table, keys=keys, values=values)
update = ', '.join([" {key} = %s".format(key=key) for key in data)
sql += update
有几个陌生的语法:
- format()
把传统的%替换为{}来实现字符串的格式化输出。字符串sql中{table}、{keys}均为变量,在format()的参数中申明替换的值。 - " {key} = %s".format(key=key) for key in data
直接print(),会提示generator object。想要显示该值可以用[],list(),或用join()函数构造字符串。