【发布时间】:2023-03-26 23:36:02
【问题描述】:
是否有任何 python 包可以帮助从变量和类生成 SQL 查询?
例如,开发人员将创建一个创建表(可能作为对象),而不是手动编写创建查询,例如在列表中包含所需的列。然后该对象将返回一个将用作查询的字符串。如果这样的包可以支持多种语言语法(SQLite、Oracle、MySQL...),那将是一个加分项
【问题讨论】:
-
用户输入,例如?..请提供有关请求的一些上下文。
是否有任何 python 包可以帮助从变量和类生成 SQL 查询?
例如,开发人员将创建一个创建表(可能作为对象),而不是手动编写创建查询,例如在列表中包含所需的列。然后该对象将返回一个将用作查询的字符串。如果这样的包可以支持多种语言语法(SQLite、Oracle、MySQL...),那将是一个加分项
【问题讨论】:
目前最适合 Python 的对象关系映射器包可能是流行的 SqlAlchemy。
【讨论】:
如果有机会,标准的 python MySQLdb 包将做正确的事情来引用变量。如果您担心 SQL 注入攻击。
c.executemany(
"""INSERT INTO breakfast (name, spam, eggs, sausage, price)
VALUES (%s, %s, %s, %s, %s)""",
[
("Spam and Sausage Lover's Plate", 5, 1, 8, 7.95 ),
("Not So Much Spam Plate", 3, 2, 0, 3.95 ),
("Don't Wany ANY SPAM! Plate", 0, 4, 3, 5.95 )
] )
否则,您可能应该查看任意数量的 Python Web 框架 - Django 等来抽象数据库。
【讨论】: