Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memasukkan Berbilang Baris dengan Cekap ke dalam Pangkalan Data SQLite?

Bagaimana untuk Memasukkan Berbilang Baris dengan Cekap ke dalam Pangkalan Data SQLite?

DDD
DDDasal
2025-01-23 13:58:09360semak imbas

How to Efficiently Insert Multiple Rows into an SQLite Database?

Kemahiran memasukkan berbilang baris SQLite

Tidak seperti MySQL, SQLite sendiri tidak secara langsung menyokong sintaks ringkas untuk memasukkan berbilang baris pada masa yang sama. Walau bagaimanapun, terdapat kaedah alternatif untuk mencapai kesan yang sama.

Sintaks sisipan berbilang baris SQLite

Untuk memasukkan berbilang baris dalam SQLite, anda boleh menggunakan sintaks berikut:

<code><br></br>INSERT INTO 'tablename'<br></br>SELECT 'data1' AS 'column1', 'data2' AS 'column2'<br></br>UNION ALL SELECT 'data1', 'data2'<br></br>UNION ALL SELECT 'data1', 'data2'<br></br>UNION ALL SELECT 'data1', 'data2'<br></br></code>

Dalam contoh ini, data 'data1' dan 'data2' akan dimasukkan ke dalam jadual 'tablename' sebanyak empat kali.

Perbezaan antara UNION dan UNION ALL

Menggunakan UNION ALL memastikan semua baris disisipkan, walaupun ia mengandungi data pendua. Jika SEMUA ditinggalkan, baris pendua akan dihapuskan.

Pertimbangan Prestasi

Walaupun pendekatan ini membenarkan berbilang baris untuk disisipkan, ia tidak semestinya lebih cekap daripada menggunakan satu pernyataan INSERT dalam transaksi. Untuk prestasi yang lebih baik, pertimbangkan untuk menggunakan sintaks berikut:

<code><br></br>BEGIN TRANSACTION;<br></br>INSERT INTO 'tablename' VALUES ('data1', 'data2');<br></br>INSERT INTO 'tablename' VALUES ('data3', 'data4');<br></br>...<br></br>COMMIT;<br></br></code>

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Berbilang Baris dengan Cekap ke dalam Pangkalan Data SQLite?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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