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

Cách sử dụng chuỗi .format () trong câu lệnh MySQL?

Sử dụng các câu lệnh đã soạn sẵn (cách an toàn):

qry = """
    SELECT *
    FROM db
    WHERE run_start_date BETWEEN '%s 16:00:00' AND '%s 16:00:00'
""" # 

today = DT.date.today()
week_ago = today - DT.timedelta(days=7)
today = str(today.strftime('%Y-%m-%d'))  # Convert to string
week_ago = str(week_ago.strftime('%Y-%m-%d'))  # Convert to string

cursor.execute(qry, [today, week_ago])

Sử dụng .format () khiến bạn có nguy cơ bị tiêm sql (nếu bạn chuyển thông tin nhập của người dùng vào .format (), ví dụ:)

qry = """
    SELECT *
    FROM db
    WHERE run_start_date BETWEEN '{today} 16:00:00' AND '{week_ago} 16:00:00'
""" # Use named placeholders, nicer to read, prevents you having to repeat variables multiple time when calling .format()

today = DT.date.today()
week_ago = today - DT.timedelta(days=7)
today = str(today.strftime('%Y-%m-%d'))  # Convert to string
week_ago = str(week_ago.strftime('%Y-%m-%d'))  # Convert to string

qry = qry.format(today=today, week_ago=week_ago)
cursor.execute(qry)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo câu lệnh CREATE cho tất cả các Bảng MySql

  2. Làm cách nào để thiết lập chuỗi kết nối cho cơ sở dữ liệu MySQL trong dự án C # mà không sử dụng hộp thoại?

  3. Truy vấn MySQL để nhóm dữ liệu thành các phạm vi khác nhau

  4. Đối với một khóa chính của một kiểu tích phân, tại sao điều quan trọng là phải tránh khoảng trống?

  5. Kết nối với Nguồn dữ liệu MySQL trong PHPStorm