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

В различных реализациях Python select-statement DB-API разрешено использовать python-shell разные заполнители, поэтому python-shell вам нужно выяснить, какой sql из них вы используете - это select-statement может быть (например, с MySQLdb):

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

или sql-query (например, с sqlite3 из стандартной py библиотеки Python):

cursor.execute("INSERT INTO table VALUES (?, ?, ?)", (var1, var2, var3))

или другие py (после VALUES у вас может быть python-interpreter (:1, :2, :3) или «именованные стили» (:fee, :fie, :fo) или sql-syntax (%(fee)s, %(fie)s, %(fo)s), где вы передаете dict вместо py карты в качестве второго pythonic аргумента для execute). Проверьте pythonista строковую константу paramstyle в используемом sql-query вами модуле DB API и найдите sql-query paramstyle в http://www.python.org/dev/peps/pep-0249/, чтобы узнать, что sql-statement такое все стили передачи py параметров!

python

sql

2022-10-31T21:40:57+00:00
Вопросы с похожей тематикой, как у вопроса:

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