Использование именованных параметров с помощью sqlalchemy connection.execute
sqlalchemy's connection.execute позволяет выполнять sql Queries при преобразовании результатов в цепь Maps. Первоначально реализовано с помощью форматирования строки, чтобы включить параметры в запрос, этот метод может быть улучшен для использования именованных параметров для большей эффективности и безопасности.
изменение процедуры
, чтобы изменить код, чтобы принять названные параметры, следующие шаги могут быть предприняты:
sql = text("SELECT users.fullname || ', ' || addresses.email_address AS title FROM users, addresses WHERE users.id = addresses.user_id AND users.name BETWEEN :x AND :y AND (addresses.email_address LIKE :e1 OR addresses.email_address LIKE :e2)")
conn.execute(sql, {"x": "m", "y": "z", "e1": "%@aol.com", "e2": "%@msn.com"}). Связано с форматированием строки, которое может привести к уязвимости в инъекциях SQL. Подходы
, в качестве альтернативы, можно определить функцию, чтобы обернуть функциональность выполнения и принять именованные параметры в виде словаря: def SQL_TO_DATA (SQL, значения): Результат = [] Connection = Engine.connect () пытаться: rows = connection.execute (sql, значения) ... окончательно: connection.close () Вернуть результат
с этим подходом, запросы могут быть выполнены с помощью:
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3