前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQLAlchemy - Column详解

SQLAlchemy - Column详解

作者头像
stys35
发布2019-11-20 10:14:39
1.1K0
发布2019-11-20 10:14:39
举报
文章被收录于专栏:工作笔记精华

Column常用参数:

  • default:默认值
  • nullable:是否可有
  • primary_key:是否为主键
  • unique:是否唯一
  • autoincrement:是否自动增长
  • onupdate:更新的时候执行的函数
  • name:该属性在数据库中的字段映射

sqlalchemy常用数据类型:

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

query可以参数:

  1. 模型对象。指定查找这个模型中所有的对象。
  2. 模型中的属性。可以指定只查找某个模型的其中几个属性。
  3. 聚合函数:
    1. func.count:统计行的数量
    2. func.avg:求平均值
    3. func.max:求最大值
    4. func.min:求最小值
    5. func.sum:求和

过滤方法:

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

1.equals:

代码语言:javascript
复制
query.filter(User.name == 'ed')

2.not equals:

代码语言:javascript
复制
query.filter(User.name != 'ed')

3.like:

代码语言:javascript
复制
query.filter(User.name.like('%ed%'))

4.in:

代码语言:javascript
复制
query.filter(User.name.in_(['ed','wendy','jack']))
#同时
query.filter(User.name.in_(session.query(User.name).filter(User.name.like('%ed%'))))

 5.not in:

代码语言:javascript
复制
query.filter(~User.name.in_('ed','wendy','jack'))

6.is null:

代码语言:javascript
复制
query.filter(User.name==None)

query.filter(User.name.is_(None))

7.is not null:

代码语言:javascript
复制
query.filter(User.name != None)

query.filter(User.name.isnot(None)

8.and:

复制代码
复制代码
代码语言:javascript
复制
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')
复制代码
复制代码

9.or:

代码语言:javascript
复制
from sqlalchemy import or_ 
query.filter(or_(User.name='ed', User.name='wendy'))

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档