def make_sql(table_name='user_info', *, user_info=None): fields = ','.join(user_info.keys()).rstrip(',') sql = "insert into `%s` (%s) values (%s)" % (table_name, fields, ('{!r},' * len(user_info)).rstrip(',')) field_values = list(user_info.values()) sql = sql.format(*field_values) return sql
make_sql(user_info={'name': 'sidian', 'age': 18})
输出
insert into `user_info` (name,age) values ('sidian',18)
要求字典的key与SQL的插入字段KEY的子集,如果有需要可以加一个前置判断,剔除不在SQL字段里面的KEY。