是否有任何 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 等来抽象数据库。
-- 航班表 创建航班表 ( FlightID INT 主键, 航空公司 VARCHAR(50), 源 VARCHAR(50), 目标 VARCHAR(50), 出发时间 DATETIME, 到达时间 DATETIME, 总座位数 INT, 可用座位 INT );
-- 乘客表 创建表乘客( PassengerID INT 主键, 名称 VARCHAR(100), 年龄 INT, 性别 CHAR(1), 联系电话 VARCHAR(15) );
-- 预订表 创建表预订( ReservationID INT PRIMARY KEY, 航班ID INT, 乘客 ID INT, 座位号 INT, 预订日期 DATETIME, 外键(FlightID)参考航班(FlightID), 外键(PassengerID)参考乘客(PassengerID) );