三个要点:talbe_name, columns, placeholders
table_name在函数调用时给出
insert_data(file_dict, conneciton, 'records_of_disease')
def insert_data(xml_dict, connection, table_name):
columns是字符串,eg:姓名, 年龄, 床号, 住院号, 性别,在sql语句中用(%s)表示字段
columns = ', '.join(header_keys)
sql = "INSERT INTO %s (%s) VALUES (%s)" % (table_name, columns, placeholders)
palceholders是占位符,根据values值的长度确定
placeholders = ', '.join(['%s'] * len(header_keys))
最后在执行sql语句的时候,要记得execute(sql, values),values可以不是元组而是列表
cursor.execute(sql, values)
print(sql)
INSERT INTO records_of_disease (姓名, 年龄, 住院号, 性别) VALUES (%s, %s, %s, %s)
INSERT INTO records_of_disease (姓名, 年龄, 床号, 住院号, 性别) VALUES (%s, %s, %s, %s, %s)
避免把字段长度写死,可以做到字段和值的长度一一对应