Memasukkan Berbilang Kamus ke dalam MySQL Menggunakan executemany() dalam Python
Apabila mengikis data daripada web dan memasukkannya ke dalam pangkalan data MySQL, ia adalah penting untuk mengoptimumkan prestasi untuk mengelakkan penguncian pangkalan data. Kod yang disediakan menunjukkan pendekatan yang tidak cekap yang melibatkan pelaksanaan pertanyaan berasingan untuk setiap baris data jadual. Untuk menangani isu ini, kami akan meneroka cara memanfaatkan kaedah executemany() untuk memasukkan berbilang baris secara serentak.
Kaedah executemany() membolehkan anda memasukkan senarai parameter ke dalam pernyataan yang disediakan. Ia memerlukan dua hujah: pernyataan SQL dan senarai parameter. Pernyataan SQL harus mempunyai ruang letak (%s) untuk parameter.
Untuk menggunakan executemany() dalam senario ini, pertama sekali kita perlu mengubah senarai kamus menjadi tuple nilai bagi setiap baris. Ini boleh dicapai seperti berikut:
itemBank = [] for row in rows: itemBank.append(( tempRow2['Item_Name'], tempRow1['Item_Price'], tempRow3['Item_In_Stock'], tempRow4['Item_Max'], getTimeExtra )) #append data
Seterusnya, kami menyediakan pernyataan SQL dengan ruang letak untuk parameter:
q = """ insert ignore into TABLE1 ( Item_Name, Item_Price, Item_In_Stock, Item_Max, Observation_Date ) values (%s,%s,%s,%s,%s) """
Akhir sekali, kami melaksanakan kaedah executemany(), menyediakan Pernyataan SQL dan senarai parameter:
try: x.executemany(q, itemBank) conn.commit() except: conn.rollback()
Pendekatan ini meningkatkan prestasi dengan ketara dengan melaksanakan satu pertanyaan untuk semua baris dalam jadual, mengelakkan overhed berbilang pertanyaan individu.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Berbilang Kamus dengan Cekap ke dalam Pangkalan Data MySQL Menggunakan Kaedah `executemany()` Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!