SQLAlchemy - Column詳解


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:

query.filter(User.name == 'ed')

2.not equals:

query.filter(User.name != 'ed')

3.like:

query.filter(User.name.like('%ed%'))

4.in:

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:

query.filter(~User.name.in_('ed','wendy','jack'))

6.is null:

query.filter(User.name==None)

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

7.is not null:

query.filter(User.name != None)

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

8.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')

9.or:

from sqlalchemy import or_ 
query.filter(or_(User.name='ed', User.name='wendy'))

轉載:https://blog.csdn.net/nunchakushuang/article/details/80392200


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM