在 Python 中构建 SQL 查询

问题描述 投票:0回答:3

是否有任何 python 包可以帮助从变量和类生成 SQL 查询?

例如,开发人员将创建一个创建表(可能作为一个对象),并在列表中包含所需的列,而不是手动编写创建查询。然后该对象将返回一个将用作查询的字符串。如果这样的包可以支持多种语言语法(SQLite、Oracle、MySQL...),那就更好了

python sql
3个回答
2
投票

当今 Python 最好的对象关系映射器包可能是流行的 SqlAlchemy


1
投票

如果有机会,标准 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 等来抽象数据库。


0
投票

-- 航班表 创建航班表 ( 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) );

© www.soinside.com 2019 - 2024. All rights reserved.