flask SQLAlchemy資料查詢 常用命令

2021-09-02 07:20:58 字數 1566 閱讀 3869

"""

查詢所有使用者資料

user.query.all()

查詢有多少個使用者

user.query.count()

查詢第1個使用者

user.query.first()

user.query.get(1) # 根據id查詢

查詢id為4的使用者[3種方式]

user.query.get(4)

user.query.filter_by(id=4).all() # 簡單查詢 使用關鍵字實參的形式來設定欄位名

user.query.filter(user.id == 4).all() # 複雜查詢 使用恒等式等其他形式來設定條件

查詢名字結尾字元為g的所有使用者[開始 / 包含]

user.query.filter(user.name.endswith("g")).all()

user.query.filter(user.name.startswith("w")).all()

user.query.filter(user.name.contains("n")).all()

user.query.filter(user.name.like("%n%g")).all() 模糊查詢

查詢名字和郵箱都以li開頭的所有使用者[2種方式]

user.query.filter(user.name.startswith("li"), user.email.startswith("li")).all()

from sqlalchemy import and_

user.query.filter(and_(user.name.startswith("li"), user.email.startswith("li"))).all()

查詢age是25 或者 `email`以`itheima.com`結尾的所有使用者

from sqlalchemy import or_

user.query.filter(or_(user.age == 25, user.email.endswith("itheima.com"))).all()

查詢名字不等於wang的所有使用者[2種方式]

from sqlalchemy import not_

user.query.filter(not_(user.name == "wang")).all()

user.query.filter(user.name != "wang").all()

查詢id為[1, 3, 5, 7, 9]的使用者

user.query.filter(user.id.in_([1, 3, 5, 7, 9])).all()

所有使用者先按年齡從小到大, 再按id從大到小排序, 取前5個

user.query.order_by(user.age, user.id.desc()).limit(5).all()

分頁查詢, 每頁3個, 查詢第2頁的資料

pn = user.query.paginate(2, 3)

pn.items 獲取該頁的資料 pn.page 獲取當前的頁碼 pn.pages 獲取總頁數

Flask SQLAlchemy學習總結

配置鍵說明 sqlalchemy database uri 用於連線資料的資料庫。例如 sqlalchemy binds 乙個對映繫結 bind 鍵到 sqlalchemy 連線 uris 的字典。用於繫結多個資料庫 sqlalchemy echo 如果設定成 true sqlalchemy 將會記...

flask SQLAlchemy基本使用

作為資料的操作,最基本的就是增刪改查 常用的sqlalchemy查詢過濾器 過濾器說明 filter 把過濾器新增到原查詢上,返回乙個新查詢 filter by 把等值過濾器新增到原查詢上,返回乙個新查詢 limit 使用指定的值限定原查詢返回的結果 offset 偏移原查詢返回的結果,返回乙個新查...

Flask SQLAlchemy定義模型

模型表示程式使用的資料實體,在flask sqlalchemy中,模型一般是python類,繼承自db.model,db是sqlalchemy類的例項,代表程式使用的資料庫。類中的屬性對應資料庫表中的列。id為主鍵,是由flask sqlalchemy管理。db.column類建構函式的第乙個引數是...