Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Memasukkan Berbilang Kamus dengan Cekap ke dalam Pangkalan Data MySQL Menggunakan Kaedah `executemany()` Python?

Bagaimanakah Saya Boleh Memasukkan Berbilang Kamus dengan Cekap ke dalam Pangkalan Data MySQL Menggunakan Kaedah `executemany()` Python?

Mary-Kate Olsen
Lepaskan: 2024-11-07 16:30:03
asal
1027 orang telah melayarinya

How Can I Efficiently Insert Multiple Dictionaries into a MySQL Database Using Python's `executemany()` Method?

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
Salin selepas log masuk

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)           
    """
Salin selepas log masuk

Akhir sekali, kami melaksanakan kaedah executemany(), menyediakan Pernyataan SQL dan senarai parameter:

try:
    x.executemany(q, itemBank)
    conn.commit()
except:
    conn.rollback()
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan