1 初探

  在平時的開發(fā)工作中,我們可能會有這樣的需求:我們希望有一個內(nèi)存數(shù)據(jù)庫或者數(shù)據(jù)引擎,用比較Pythonic的方式進(jìn)行數(shù)據(jù)庫的操作(比如說插入和查詢)。

  舉個具體的例子,分別向數(shù)據(jù)庫db中插入兩條數(shù)據(jù),"a=1, b=1" 和 "a=1, b=2", 然后想查詢a=1的數(shù)據(jù)可能會使用這樣的語句db.query(a=1),結(jié)果就是返回前面插入的兩條數(shù)據(jù); 如果想查詢a=1, b=2的數(shù)據(jù),就使用這樣的語句db.query(a=1, b=2),結(jié)果就返回前面的第二條數(shù)據(jù)。

  那么是否擁有實(shí)現(xiàn)上述需求的現(xiàn)成的第三方庫呢?幾經(jīng)查找,發(fā)現(xiàn)PyDbLite能夠滿足這樣的需求。其實(shí),PyDbLite和Python自帶的SQLite均支持內(nèi)存數(shù)據(jù)庫模式,只是前者是Pythonic的用法,而后者則是典型的SQL用法。
他們具體的用法是這樣的:

PyDbLite

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

import pydblite# 使用內(nèi)存數(shù)據(jù)庫pydb = pydblite.Base(':memory:')# 創(chuàng)建a,b,c三個字段pydb.create('a', 'b', 'c')# 為字段a,b創(chuàng)建索引pydb.create_index('a', 'b')# 插入一條數(shù)據(jù)pydb.insert(a=-1, b=0, c=1)# 查詢符合特定要求的數(shù)據(jù)results = pydb(a=-1, b=0)

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式