1. ホーム
  2. パイソン

[解決済み】Flask-SQLAlchemyアプリで生のSQLを実行する方法

2022-03-31 09:36:21

質問

SQLAlchemy で生の SQL を実行するにはどうすればよいですか?

私は、flask 上で動作する python の Web アプリを持っていて、SQLAlchemy を通してデータベースとインタフェースをとっています。

生のSQLを実行する方法が必要です。このクエリには、インライン・ビューと複数のテーブル結合が含まれています。

試してみました。

connection = db.session.connection()
connection.execute( <sql here> )

しかし、ゲートウェイエラーが出続けています。

どうすればいいですか?

試してみましたか?

result = db.engine.execute("<sql here>")

または

from sqlalchemy import text

sql = text('select name from penguins')
result = db.engine.execute(sql)
names = [row[0] for row in result]
print names

なお db.engine.execute() は "コネクションレス"であり、これは SQLAlchemy 2.0 で非推奨となった .