Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Mã hóa chuỗi thử thách trong Python

Bạn không nên sử dụng .format() để bao gồm các giá trị trong một truy vấn sql. Sử dụng các tham số sql để thay thế:

sql += " WHERE provider IN ({}) GROUP BY date ORDER BY date ASC".format(', '.join(['%s'] * len(providers)))

cursor.execute(sql, providers)

nơi providers là danh sách ban đầu.

Ý tưởng là tạo một truy vấn SQL với in kiểm tra bằng cách sử dụng cú pháp tham số SQL khớp với số lượng nhà cung cấp trong danh sách của bạn:WHERE provider in (%s, %s) ... cho danh sách hai nhà cung cấp. Có, cú pháp tham số sql MySQLdb lặp lại cú pháp định dạng python kiểu cũ, nhưng không giống như vậy.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trường hợp MYSQL trong câu lệnh chọn để kiểm tra null

  2. SET CHARACTER SET utf8 có cần thiết không?

  3. Thêm ràng buộc duy nhất dựa trên giá trị trường

  4. Theo dõi tiến độ truy vấn dài MySQL

  5. vấn đề với utf8 trong java