美文网首页
Python-SQLAlchemy的ORM(2)

Python-SQLAlchemy的ORM(2)

作者: 木叶苍蓝 | 来源:发表于2019-12-31 17:31 被阅读0次

    来源:本文章摘抄于《知了课堂》,本人也是知了课堂的学生

    相关

    Python-SQLAlchemy介绍和基本使用
    Python-SQLAlchemy(1)
    Python-SQLAlchemy(2)
    Python-SQLAlchemy(3)
    Python-SQLAlchemy(4)
    Python-SQLAlchemy(5)

    Column 常用参数:

    • default:默认值
    • nullable:是否为空
    • primary_key:是否为主键
    • unique:是否唯一
    • autoincrement:是否自动增长
    • name:该属性在数据库中的字段映射

    sqlalchemy常用数据类型

    • Integer:整型
    • Float:浮点类型
    • Boolean:传递 True/False
    • DECIMAL: 定点类型
    • enum:枚举类型
    • Date:传递 datetime.date()
    • DateTime:传递datetime.datetime()
    • Time:传递datetime.time()
    • String:字符类型,使用时需要指定长度,区别于Text类型
    • Text:文本类型
    • LONGTEXT:长文本类型

    query可用类型

    1. 模型对象:指定查找这个模型中所有对象
    2. 模型中的属性:可以指定只查找某一个模型的其中几个属性
    3. 聚合函数:
      • func.count():总数
      • func.avg():求平均值
      • func.max():求最大值
      • func.min():求最小值
      • func.sum():求和

    过滤条件:

    过滤是数据提取的一个很重要的功能,以下对一些常用的过滤条件进行解释,并且这些过滤条件都是只能通过 filter 方法实现的:

    • equals
        query.filter(User.bane == 'ed') 
    
    • not equals
        query.filter(User.name != 'ed')
    
    • like
        query.filter(User.name.like('%ed%')
    
    • in
        query.filter(User.name.in_(['ed', 'weny', 'jack']))
        # 同时,in 也可以作用于一个Query
        query.filter(User.name.in_(session.query(User.name).filter(User.name.like('%ed%'))))
    
    • not in
        query.filter(~User,name.in_(['ed', 'wendy', 'jack']))
    
    • is null
        query.filter(User.name==None)
        # 或者是
        query.filter(User.name.is_(None))
    
    • and
        from sqlalchemy import and_
        query.filter(and_(User.name=='ed', User.fullname=='Ed Jones'))
        # 或者传递多个参数
        query.filter(User.name == 'ed', User.fullname=='Ed Jones')
        # 或者是通过多次 filter 操作
        query.filter(User.name=='ed').filter(User.fullname=='Ed Jones')
    
    • or
        from sqlalchemy import or_
        query.filter(or_(User.name=='ed', User.name=='wendy'))
    

    相关文章

      网友评论

          本文标题:Python-SQLAlchemy的ORM(2)

          本文链接:https://www.haomeiwen.com/subject/smqioctx.html