分享知識 傳遞快樂
方式一:
SQLAlchemy支援在建立資料庫引擎時,通過echo=true,将連接配接這個資料庫引擎的所有執行語句列印出來:
engine = create_engine("<db_rul>", echo=True)
方式二:
可以直接通過下邊的方式,列印SQL語句,但不包含參數的SQL語句
query = session.query(Model).filter(*filter)
print(str(query))
這種方式得到的SQL也不可直接執行,因為對應的參數變量沒有被替換
方式三:
from sqlalchemy.dialects import mysql
obj = query.statement.compile(dialect=mysql.dialect(), compile_kwargs={"literal_binds": True})
print(str(obj ))
這種方式可以列印包含參數的執行語句,但是參數隻包括數字和字元串等基本類型,其中dialects表示需要的資料庫方言。