Как использовать несколько переменных Python в SQL-запросе

#python #mysql #sql #variables

#python #mysql #sql #переменные

Вопрос:

На данный момент я пытаюсь использовать запрос к базе данных MySQL с переменными Python. Я понимаю, что соглашение об использовании переменных в запросе заключается в следующем:

 curr.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))
  

Однако запрос, который я хочу выполнить, выглядит следующим образом:

 SELECT * FROM table1
WHERE City = (cityName)
AND AdmissionDate BETWEEN (startDate) AND (endDate)
  

Я не уверен, как нужно будет форматировать переменные, должны ли они все быть в 1 кортеже, или я могу отформатировать его так, как я бы сделал в инструкции printf, поэтому я не уверен, что из приведенного ниже будет правильным:

 curr.execute("SELECT * FROM table1
              WHERE City = (%s)
              AND AdmissionDate BETWEEN (%s) AND (%s)",(cityName, startDate, endDate))


curr.execute("SELECT * FROM table1
              WHERE City = (%s)
              AND AdmissionDate BETWEEN (%s) AND (%s)", (cityName), (startDate), (endDate))
  

Любые советы были бы высоко оценены. Заранее спасибо.

Комментарии:

1. Вы всегда можете print(your query) протестировать это.

2. Что происходит, когда вы запускаете любой оператор? Подсказка: это может дать вам ответ.