1 初探

  在平時的開發(fā)工作中,我們可能會有這樣的需求:我們希望有一個內(nèi)存數(shù)據(jù)庫或者數(shù)據(jù)引擎,用比較Pythonic的方式進行數(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ù)。

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

PyDbLite

Android培訓,安卓培訓,手機開發(fā)培訓,移動開發(fā)培訓,云培訓培訓

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)

延伸閱讀

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