在sqlalchemy中除了利用Connection对象进行原生sql操作外,还可以通过Session对象进行原生sql操作。
from sqlalchemy import create_engine
from sqlalchemy.orm import Session
# 创建数据库引擎
dburl = 'mysql+pymysql://root:123456@127.0.0.1:3306/testdb'
engine = create_engine(url=dburl)
# 创建会话对象
session = Session(engine)
利用sqlalchemy中的text函数将sql字符串加工为原生sql。
from sqlalchemy import text
sql_text = text("SELECT name, age FROM student")
利用Session实例对象的execute函数可以与数据库进行事务交互。
students = session.execute(sql_text)
由于Session对象也是一种资源,所以在事务处理完后要及时关闭资源。
session.close()
可以利用Python的上下文管理器的方式使用会话对象,用完后会话对象自动关闭。
with Session(engine) as session:students = session.execute(sql_text)for name, age in students:print(name,age)
参见Connection对象进行原生sql操作,而将connection改为session即可。
上一篇:金科股份:全力以“付”,兑现城市美好生活 金科股份永不止步将美好延续 金科股份商业地产
下一篇:年报解读 | 保利置业:控杠杆以防风险,稳经营而后谋发展 一图看懂保利置业2022年度业绩 保利房地产第三季度报告