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

python mysql mengambil kueri

Ini membingungkan hampir semua orang yang bekerja dengan MySQLDB. Anda meneruskan argumen ke fungsi eksekusi, tidak melakukan substitusi string python. %s dalam string kueri digunakan lebih seperti pernyataan yang disiapkan daripada substitusi string python. Ini juga mencegah injeksi SQL karena MySQLDB akan melakukan pelolosan untuk Anda. Seperti yang Anda lakukan sebelumnya (menggunakan % dan substitusi string), Anda rentan terhadap injeksi.

  1. Jangan gunakan tanda kutip. MySQLDB akan menempatkannya di sana (jika diperlukan).
  2. Gunakan a , alih-alih %. Sekali lagi, Anda meneruskan tuple sebagai argumen ke fungsi eksekusi.

    self.dbc.execute("pilih * dari mobil dimana reg=%s" , (reg,))



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GROUP BY untuk baris berkelanjutan dalam SQL

  2. pilih semua kolom dengan grup menurut dalam kueri kriteria hibernasi

  3. MySQL Wildcard untuk =- apakah ada?

  4. MySQL Recursive dapatkan semua anak dari orang tua

  5. Polling JQuery menggunakan MySQL dan PHP. Bagaimana?