SQLAlchemy對資料基本操作

2022-08-20 21:39:12 字數 1959 閱讀 4812

先前在這篇文章有些建立操作介紹->mysql安裝和操作(flask)

以下為讀《深入理解flask》

對各種資料儲存策略有四種基本功能型別:新增,讀取,修改,刪除

讀取資料也許是操作種模擬較複雜的功能型別

乙個簡單的例子

>>> users=user.query.all()

>>> users

一些常用語句(可以鏈式呼叫)

user.query.all ##查詢user模型在資料庫中所有行

user.query.h2mit(5).all ##指定行數返回

user.query.first() ##返回一行資料

user.query.filter(user.id == 2).first().name

user.query.get(2).name ##以主鍵獲取,等效於上句

post.query.paginate(2,10) ##返回2-10的物件,這個設計為了分頁

user.query.filter_by(username="test").all() ##精確過濾

user.query.filter(user.id>1).all() ##user.id大於1的

##filter引數接受任何python表示式

user.query.order_by(user.username).all() ##正向排序

user.query.order_by(user.username.desc()).all() ##反向排序

##order_by控制排序方式

paginate-add:假如命令page=post.query.paginate(2,10)

page.items ##返回這一頁包含資料

page.page ##頁數

page.pages ##總頁數

filter-add: 一些複雜的sql語句也可以轉化

user.query.filter(

user.username.in_(['test','test1']),

user.password_hash==none

).first()

user.query.filter(

not_(user.password_hash==none)

).first() ##擁有密碼的user

user.query.filter(

or_(not_(user.password_hash==none),user.id>1)

).first() ##組合呼叫

sqlalchemy中與none的比較會被當成與null比較

呼叫update方法更新資料

>>> user.query.filter_by(username="test").update()

1>>> db.session.commit()

>>> user=user.query.filter_by(username="test").first()

>>> db.session.delete(user)

>>> db.session.commit()

flask使用SQLAlchemy組對資料庫操作

兩種連線方式 第二種方式就是利用threading.local 為每個執行緒開闢乙個自己獨立的儲存空間 from sqlalchemy.orm import sessionmaker from sqlalchemy import create engine from sqlalchemy.orm i...

sqlalchemy基本操作

sqlalchemy的簡單實用 其他比較好的人寫的 各種基本操作 sqlalchemy指南 常用技巧 usr bin env python coding utf 8 from sqlalchemy import column,string,create engine,metadata from sq...

SQLAlchemy 讀取資料的方法

把資料新增進資料庫後,sqlalchemy 可以通過model.query 方法對資料進行查詢。model.query 是 db.session.query modle 的簡寫。1.使用all 函式獲取資料庫中的所有行,並作為列表返回。users user.query.all users 2.使用l...