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

Masukkan daftar ke dalam database saya menggunakan Python

Jawaban atas pertanyaan awal Anda adalah:Tidak, Anda tidak dapat memasukkan daftar seperti itu.

Namun, dengan beberapa penyesuaian, Anda dapat membuat kode tersebut berfungsi dengan menggunakan %r dan meneruskan sebuah Tuple:

variable_1 = "HELLO"
variable_2 = "ADIOS"
varlist = [variable_1, variable_2]
print "INSERT INTO table VALUES %r;" % (tuple(varlist),)

Sayangnya, gaya penyisipan variabel tersebut membuat kode Anda rentan terhadap serangan injeksi SQL .

Sebagai gantinya, sebaiknya gunakan API DB Python dan membangun string kueri yang disesuaikan dengan beberapa tanda tanya untuk data yang akan dimasukkan:

variable_1 = "HELLO"
variable_2 = "ADIOS"
varlist = [variable_1,variable_2]
var_string = ', '.join('?' * len(varlist))
query_string = 'INSERT INTO table VALUES (%s);' % var_string
cursor.execute(query_string, varlist)

Contoh di awal dokumen SQLite3 menunjukkan cara menyampaikan argumen menggunakan tanda tanya dan menjelaskan mengapa argumen itu diperlukan (pada dasarnya, ini memastikan kutipan yang benar dari variabel Anda).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hubungkan Metabase dengan MySQL untuk Eksplorasi Data

  2. Bagaimana cara mengoptimalkan pencarian waktu tanggal di Mysql?

  3. Cara Membuat Pengguna di MySQL

  4. Kurangi bulan dan hari mysql

  5. Laravel - cara memperbarui seluruh koleksi