SQLAlchemy用法指南

SQLAlchemy用法指南

什么是SQLAlchemy

SQLAlchemy : python ORM框架
ORM : Object-Relational Mapping,将关系型数据库的表结构映射到对象上
也就是简化了所有关系型数据库的操作,只需使用SQLAlchemy语法进行操作

如何使用SQLAlchemy操作数据库

数据库操作都存在4个基本的功能,增、读、改、删(CRUD)
- 增 : db.session.add()
- 读 : 使用Model.query(),Model.query是db.session.query(Model)的简写

         Model.query.all()数据库中所有行
         Model.query.limit(10).all()返回十行
         Model.query.order_by(User.username).all()正向排序
         Model.query.order_by(User.username.desc()).all()逆向排序
         Model.query.first()只返回一行
         Model.query.get(1)通过主键取得

以上函数皆可以连接起来调用,first()和all()返回结果,终止链式调用

         Model.query.paginate(1,10)分页
         page.items页数
         page.has_prev上一页
         page.has_prev下一页

筛选数据:filter_by过滤器

     users = User.query.order_by(User.username).filter_by(username='fake')
     users = User.query.filter(User.id>1)
  • 改 : .update()
  • 删 : .delete()

对象之间建立联系

class User(Base):
    __tablename__ = 'user'

    id = Column(String(20), primary_key=True)
    name = Column(String(20))
    # 一对多:
    books = relationship('Book')

class Book(Base):
    __tablename__ = 'book'

    id = Column(String(20), primary_key=True)
    name = Column(String(20))
    # “多”的一方的book表是通过外键关联到user表的:
    user_id = Column(String(20), ForeignKey('user.id'))

对象User就是数据库中的一个表,可以使用__tablename__指定表明,如果不指定,默认为对象名,promary_key设置为主键,ForeignKey是一个外键约束,relationship表示一个关系

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值