Python 如何通过XML数据更快地更新MySQL?

Python 如何通过XML数据更快地更新MySQL?,python,mysql,sql,Python,Mysql,Sql,XMl中有5000条“产品”记录,MySQL中的表中有6000条“产品”记录,但并非所有XMl记录在数据库中都具有等效性。我想更快地将数据从xml放到mysql。怎么做?现在完成跑步所需的时间是11秒 db = MySQLdb.connect(host="", user="", passwd="", db="") cur = db.cursor()

XMl中有5000条“产品”记录,MySQL中的表中有6000条“产品”记录,但并非所有XMl记录在数据库中都具有等效性。我想更快地将数据从xml放到mysql。怎么做?现在完成跑步所需的时间是11秒

db = MySQLdb.connect(host="",
                         user="",
                         passwd="",
                         db="")
cur = db.cursor()

DOMTree = minidom.parse(file.xml)
cNodes = DOMTree.childNodes

for i in cNodes[0].getElementsByTagName("product"):
    y = i.getElementsByTagName("code")[0].childNodes[0].toxml()
    z = i.getElementsByTagName("available")[0].childNodes[0].toxml()

    cur.execute("UPDATE product SET stock=%s WHERE ean=%s", (z, y))
db.commit()

Executemany是您的朋友,您可以收集所有数据并一次推送它们,而不是重复执行for循环中的命令

data = [
  ('A', 'blabla'),
  ('B', 'test1'),
  ('C', 'test2'),
]
stmt = "UPDATE product SET stock=%s WHERE ean=%s"
cur.executemany(stmt, data)
更多信息请点击此处:

您的问题不清楚,您指的是“记录”而不是“位置”,您指的更快是什么意思?更快/更快没有任何意义。