在Flask-SQLAlchemy應用中執行原始SQL
在Flask-SQLAlchemy中,當處理無法使用SQLAlchemy ORM實作的複雜資料操作時,需要執行原始SQL查詢。本文探討在Flask-SQLAlchemy應用程式中有效執行原始SQL的方法。
方法:
在SQLAlchemy中執行原始SQL的首選方法是建立直接的資料庫連線。使用此連接,您可以執行任意SQL語句,而不會受到ORM的限制。
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中,您可以使用db.engine.execute()
方法直接執行原始SQL查詢。但是,需要注意的是,此方法是“無連接的”,並且在更高版本的SQLAlchemy中已棄用。
<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]</code>
總結:
透過使用上述技術,您可以無縫地在Flask-SQLAlchemy應用程式中執行原始SQL查詢。請記住為每個原始SQL操作建立資料庫連線並適當地處理結果。
以上是如何在 Flask-SQLAlchemy 中有效執行原始 SQL 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!