zoukankan      html  css  js  c++  java
  • 【SQLAlchemy】02-SQLAlchemy数据类型和参数

    好风凭借力,送我上青云。

    SQLAlchemy常用数据类型

    名称 介绍
    Integer 整形,映射到数据库中是int类型。
    Float 浮点类型,映射到数据库中是float类型。占据的32位
    Double 双精度浮点类型,映射到数据库中是double类型。占据64位
    String 可变字符类型,映射到数据库中是varchar类型
    DECIMAL 定点类型。是专门为了解决浮点类型精度丢失的问题的,使用的时候需要传递两个参数,第一个参数是用来标记这个字段总能能存储多少个数字,第二个参数表示小数点后有多少位。
    Enum 枚举类型。指定某个字段只能是枚举中指定的几个值,不能为其他值
    Boolean 布尔类型,映射到数据库中的是tinyint类型。
    Date 存储时间,只能存储年月日。映射到数据库中是date类型。在Python代码中,可以使用datetime.date来指定。
    DateTime 存储时间,可以存储年月日时分秒毫秒等。映射到数据库中也是datetime类型。在Python代码中,可以使用datetime.datetime来指定。
    Time 存储时间,可以存储时分秒。映射到数据库中也是time类型。在Python代码中,可以使用datetime.time
    Text 存储长字符串。一般可以存储6W多个字符。
    LONGTEXT 长文本类型,映射到数据库中是longtext类型。

    Column常用参数

    名称 介绍
    primary_key 设置某个字段为主键。
    autoincrement 设置这个字段为自动增长的。
    default 设置某个字段的默认值。在发表时间这些字段上面经常用。
    nullable 指定某个字段是否为空。默认值是True,就是可以为空。
    unique 指定某个字段的值是否唯一。默认是False。
    onupdate 在数据更新的时候会调用这个参数指定的值或者函数,常用的就是update_time
    name 指定ORM模型中某个属性映射到表中的字段名。

    query聚合函数

    名称 介绍
    count session.query(func.count(Article.id)).first()
    avg session.query(func.avg(Article.price)).first()
    max session.query(func.max(Article.price)).first()
    min session.query(func.min(Article.price)).first()
    sum session.query(func.sum(Article.price)).first()

    filter过滤条件

    名称 介绍
    equals query.filter(User.name == 'ed')
    not equals query.filter(User.name != 'ed')
    LIKE query.filter(User.name.like('%ed%'))
    ILIKE(不区分大小写) query.filter(User.name.ilike('%ed%'))
    IN query.filter(User.name.in_(['ed', 'wendy', 'jack']))
    NOT IN query.filter(~User.name.in_(['ed', 'wendy', 'jack']))
    IS NULL query.filter(User.name == None) query.filter(User.name.is_(None))
    IS NOT NULL query.filter(User.name != None) query.filter(User.name.isnot(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')
    query.filter(User.name == 'ed').filter(User.fullname == 'Ed Jones')

    相关参考:https://www.osgeo.cn/sqlalchemy/orm/tutorial.html#common-filter-operators

  • 相关阅读:
    android wifi Direct Audio TX/RX延迟分析
    linux C语言结构体对齐
    android wifi SWOL低功耗模式
    android firmware 利用UDP socket发送Magic Packet--python版本
    android tcp协议主要函数
    android firmware 利用UDP socket发送Magic Packet--c语言版本
    linux tcp协议重传定时器
    linux tcp协议状态机
    /normalize.css 比cssreset更实用
    关于无法net start mysql无法启动数据库的解决办法
  • 原文地址:https://www.cnblogs.com/ydongy/p/13157899.html
Copyright © 2011-2022 走看看