在Flask-SQLAlchemy中执行原始SQL语句
在Flask-SQLAlchemy应用中,处理涉及表连接和内联视图的复杂查询时,经常需要执行原始SQL语句。为此,SQLAlchemy提供了多种方法,具体取决于使用的版本。
SQLAlchemy 2.0
使用SQLAlchemy 2.0,可以通过engine.connect()
上下文管理器执行原始SQL,如下所示:
<code class="language-python">with engine.connect() as connection: result = connection.execute(text('SELECT * FROM your_table')) # 对结果对象进行操作...</code>
SQLAlchemy 1.x
在SQLAlchemy 1.x中,原始SQL执行需要text
模块,如下所示:
<code class="language-python">from sqlalchemy import text sql = text('select name from penguins') result = db.engine.execute(sql) names = [row[0] for row in result] print(names)</code>
需要注意的是,SQLAlchemy 1.x中的db.engine.execute()
执行语句时不建立连接,这在SQLAlchemy 2.0中已被弃用。
以上是如何在 Flask-SQLAlchemy 中执行原始 SQL 语句?的详细内容。更多信息请关注PHP中文网其他相关文章!