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

python mysqldb melarikan diri? atau %s?

Untuk lebih spesifik ... cursor.execute() metode mengambil argumen opsional yang berisi nilai untuk dikutip dan diinterpolasi ke dalam templat/pernyataan SQL. Ini TIDAK dilakukan dengan % sederhana operator! cursor.execute(some_sql, some_params) adalah TIDAK sama dengan cursor.execute(some_sql % some_params)

Python DB-API menetapkan bahwa driver/modul yang sesuai harus menyediakan .paramstyle atribut yang dapat berupa 'qmark', 'numeric', 'named', 'format', atau 'pyformat' ... sedikit muning. Ini masih lebih aman daripada mencoba mengutip dan menginterpolasi nilai ke dalam string SQL Anda sendiri.

Saya sangat terhibur membaca Peringatan Jangan pernah, jangan pernah, JANGAN pernah menggunakan Python string ... interpolasi ... Bahkan di bawah todongan senjata. dalam dokumen PsycoPG.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Math - Apakah mungkin menghitung korelasi dalam kueri?

  2. MySQL Inner Join Query Beberapa Tabel

  3. Akses ditolak untuk pengguna 'root'@'localhost' dengan PHPMyAdmin

  4. Tampilkan mysql dalam tabel html dengan Node.js

  5. Baris MySQL 30153 dipotong oleh kesalahan GROUP_CONCAT()