成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

SQLAlchemy對數(shù)據(jù)基本操作

Yu_Huang / 708人閱讀

摘要:先前在這篇文章有些創(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

相關(guān)文章

  • 通過demo學習OpenStack開發(fā)所需的基礎知識 -- 數(shù)據(jù)庫(1)

    摘要:另外,項目在單元測試中使用的是的內(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...

    warnerwu 評論0 收藏0
  • Flask 插件系列 - Flask-SQLAlchemy

    摘要:程序中最常用的莫過于關(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ù)...

    LoftySoul 評論0 收藏0
  • python大佬養(yǎng)成計劃----flask_sqlalchemy操作數(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ù)庫操作指令抽象成高層的面向...

    RdouTyping 評論0 收藏0
  • Python-SQLAlchemy:第1節(jié):SQLAlchemy入門

    摘要:下一篇文章第節(jié)查詢條件設置是編程語言下的一款開源軟件。提供了工具包及對象關(guān)系映射工具,使用許可證發(fā)行。在關(guān)閉連接時會自動進行事務提交操作。引入多條件查詢時使用。由于上下文函數(shù)退出時會自動提交事務,所以無需顯示的調(diào)用使新增生效。 下一篇文章:Python-SQLAlchemy:第2節(jié):查詢條件設置 SQLAlchemy是Python編程語言下的一款開源軟件。提供了SQL工具包及對象關(guān)系...

    noONE 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<