sqlalchemy 单表操作
SQLAlchemy
-
创建基类
from sqlalchemy.ext.declarative import declarative_base # 基类 Base = declarative_base()
-
创建
session
会话from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker # 创建连接 engine = create_engine('mysql://root:ocnt_123@49.234.163.2:3306/admin') Session = sessionmaker(bind=engine) # 创建session会话 session = Session()
-
单表操作
-
创建
User
类class User(Base): ''' 用户类 ''' __tablename__ = 'user' # id 主键、自增 id = Column(Integer,primary_key=True,autoincrement=True) # 名称 name = Column(String(32),unique=True)
-
数据查询
# 查询所有的数据 data = session.query(User).all() # 查询第一条数据 data = session.query(User).first() # 查询指定的数据列 data = session.query(User.name).all() # 查询name=Bob的数据 data = session.query(User).filter(User.name=='Bob').first() # 按id倒序查询 data = session.query(User).order_by(User.id.desc()).all() # 分页 data = session.query(User).limit(1).offset(0).all() # 查询数量 data = session.query(User).count() # 聚合 求平均数 data = session.query(func.avg(User.id)).first() # 聚合 求和值 data = session.query(func.sum(User.id)).first()
-
增加数据
# 添加一条数据 try: user = User(name='xima') session.add(user) # 事务提交 session.commit() except: # 事务回滚 session.rollback() ------------------------------------------------------------------------------- # 添加多条数据 try: session.add_all([ User(name='donghuadijun'), User(name='baihushengzhu') ]) session.commit() except: session.rollback()
-
更新数据
try: session.query(User).filter(User.id==1).update({'name':'FQ'}) session.commit() except: session.rollback()
-
删除数据
try: session.query(User).filter(User.id==1).delete() session.commit() except: session.rollback()
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端