一. 前言
- 当有的复杂sql 用orm不好写出来的时候,此时想要用原生sql查询
- 原生sql查询,查出的结果是对象
- 原生sql查询,查询结果列表套元组
当你使用 SQLAlchemy
并希望通过创建的 session 对象来执行原生 SQL 语句时,可以使用 session.execute()
方法。这种方式允许你直接在数据库中运行 SQL 语句,同时仍然能够享受 SQLAlchemy
会话管理和事务控制的好处。以下是如何使用 session.execute()
方法执行查询、插入、更新和删除操作的示例。
二. 使用
from sqlalchemy.orm import sessionmaker, relationship
from sqlalchemy import create_engine
engine = create_engine("mysql+pymysql://root:[email protected]:3306/db001", max_overflow=0, pool_size=5)
Session = sessionmaker(bind=engine)
session = Session()
2.1. 执行原生sql方式一:
2.1.1 查询方式一:
cursor = session.execute('select * from users')
result = cursor.fetchall()
print(result) #列表套元组
# 添加
cursor = session.execute('insert into users(name,email) values(:name,:email)',
params={
"name": 'lqz', 'email': '[email protected]'})
session