摘要:先前在這篇文章有些創(chuàng)建操作介紹安裝和操作以下為讀深入理解對各種數(shù)據(jù)儲存策略有四種基本功能類型添加讀取修改刪除增加數(shù)據(jù)讀取數(shù)據(jù)讀取數(shù)據(jù)也許是操作種類比較復雜的功能類型一個簡單的例子一些常用語句可以鏈式調(diào)用查詢模型在數(shù)據(jù)庫中所有行指定行數(shù)返回返
先前在這篇文章有些創(chuàng)建操作介紹 Mysql安裝和操作(flask)
以下為讀《深入理解Flask》
對各種數(shù)據(jù)儲存策略有四種基本功能類型:添加,讀取,修改,刪除增加數(shù)據(jù) 讀取數(shù)據(jù)
讀取數(shù)據(jù)也許是操作種類比較復雜的功能類型
一個簡單的例子
>>> users=User.query.all() >>> users []
一些常用語句(可以鏈式調(diào)用)
User.query.all ##查詢User模型在數(shù)據(jù)庫中所有行 User.query.h2mit(5).all ##指定行數(shù)返回 User.query.first() ##返回一行數(shù)據(jù) 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參數(shù)接受任何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 ##返回這一頁包含數(shù)據(jù) page.page ##頁數(shù) page.pages ##總頁數(shù) page.has_prev OR page.has_next ##上一頁或者下一頁是否有數(shù)據(jù)
filter-Add: 一些復雜的SQL語句也可以轉(zhuǎn)化
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() ##組合調(diào)用
SQLAlchemy中與None的比較會被當成與NULL比較修改數(shù)據(jù)
調(diào)用update方法更新數(shù)據(jù)
>>> User.query.filter_by(username="test").update({ "password_hash":"test" }) 1 >>> db.session.commit()刪除數(shù)據(jù)
>>> user=User.query.filter_by(username="test").first() >>> db.session.delete(user) >>> db.session.commit()
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/41002.html
摘要:另外,項目在單元測試中使用的是的內(nèi)存數(shù)據(jù)庫,這樣開發(fā)者運行單元測試的時候不需要安裝和配置復雜的數(shù)據(jù)庫,只要安裝好就可以了。而且,數(shù)據(jù)庫是保存在內(nèi)存中的,會提高單元測試的速度。是實現(xiàn)層的基礎。項目一般會使用數(shù)據(jù)庫來運行單元測試。 OpenStack中的關(guān)系型數(shù)據(jù)庫應用 OpenStack中的數(shù)據(jù)庫應用主要是關(guān)系型數(shù)據(jù)庫,主要使用的是MySQL數(shù)據(jù)庫。當然也有一些NoSQL的應用,比如Ce...
摘要:程序中最常用的莫過于關(guān)系型數(shù)據(jù)庫了,也稱數(shù)據(jù)庫。對象是類的實例,表示程序使用的數(shù)據(jù)庫。本文由發(fā)表于個人博客,采用自由轉(zhuǎn)載保持署名非商用禁止演繹協(xié)議發(fā)布。非商業(yè)轉(zhuǎn)載請注明作者及出處。本文標題為插件系列本文鏈接為更多閱讀 簡介 Web 開發(fā)中,一個重要的組成部分便是數(shù)據(jù)庫了。Web 程序中最常用的莫過于關(guān)系型數(shù)據(jù)庫了,也稱 SQL 數(shù)據(jù)庫。另外,文檔數(shù)據(jù)庫(如 mongodb)、鍵值對數(shù)據(jù)...
摘要:使用對象關(guān)系映射框架,它將低層的數(shù)據(jù)庫操作指令抽象成高層的面向?qū)ο蟛僮?。在中,?shù)據(jù)庫使用指定。安裝對數(shù)據(jù)庫操作如何創(chuàng)建數(shù)據(jù)庫操作連接為了創(chuàng)建初始數(shù)據(jù)庫,調(diào)用方法來創(chuàng)建表和數(shù)據(jù)庫您的數(shù)據(jù)庫已經(jīng)生成。最為常見的關(guān)系就是一對多的關(guān)系。 flask_sqlalchemy 使用對象關(guān)系映射(Object-Relational Mapper, ORM)框架,它將低層的數(shù)據(jù)庫操作指令抽象成高層的面向...
摘要:下一篇文章第節(jié)查詢條件設置是編程語言下的一款開源軟件。提供了工具包及對象關(guān)系映射工具,使用許可證發(fā)行。在關(guān)閉連接時會自動進行事務提交操作。引入多條件查詢時使用。由于上下文函數(shù)退出時會自動提交事務,所以無需顯示的調(diào)用使新增生效。 下一篇文章:Python-SQLAlchemy:第2節(jié):查詢條件設置 SQLAlchemy是Python編程語言下的一款開源軟件。提供了SQL工具包及對象關(guān)系...
閱讀 1721·2023-04-26 02:30
閱讀 1049·2021-11-10 11:36
閱讀 1396·2021-10-08 10:14
閱讀 3522·2021-09-28 09:35
閱讀 1562·2021-08-23 09:47
閱讀 2561·2019-08-30 15:56
閱讀 1483·2019-08-30 15:44
閱讀 1775·2019-08-30 13:59