Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Menggunakan Python, masukkan cepat banyak kolom ke Sqlite\Mysql

Dengan "Data baru adalah daftar x kolom", saya membayangkan maksud Anda x tupel , sejak itu Anda terus berbicara tentang "tupel pertama". Jika Newdata adalah daftar tupel, y = len(Newdata[0]) adalah jumlah item dalam tupel pertama.

Dengan asumsi itu nomor yang Anda inginkan (dan semua tupel sebaiknya memiliki jumlah item yang sama, jika tidak executemany akan gagal!), ide umum dalam jawaban @Nathan adalah benar:buat string dengan jumlah tanda tanya yang dipisahkan koma yang sesuai:

holders = ','.join('?' * y)

kemudian masukkan ke dalam sisa pernyataan SQL. Cara @Nathan untuk menyisipkan tepat untuk sebagian besar versi Python 2.any, tetapi jika Anda memiliki 2.6 atau lebih baik,

sql = 'INSERT INTO testdata VALUES({0})'.format(holders)

saat ini lebih disukai (juga berfungsi di Python 3.any).

Akhirnya,

csr.executemany(sql, Newdata)

akan melakukan apa yang Anda inginkan. Ingatlah untuk melakukan transaksi setelah Anda selesai!-)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara memfilter nilai daftar dropdown dengan daftar dropdown lain di ASP.NET, c #

  2. Bagaimana membatasi kata-kata tetapi bukan definisi menggunakan mysql

  3. JPA Hibernate - penghapusan berjenjang di database dan anotasi

  4. Kelas basis data PHP yang berguna

  5. MySQL PADA KUNCI DUPLICATE - masukkan id terakhir?