1 初探
在平时的开发工作中,我们可能会有这样的需求:我们希望有一个内存数据库或者数据引擎,用比较Pythonic的方式进行数据库的操作(比如说插入和查询)。
举个具体的例子,分别向数据库db中插入两条数据,"a=1, b=1" 和 "a=1, b=2", 然后想查询a=1的数据可能会使用这样的语句db.query(a=1),结果就是返回前面插入的两条数据; 如果想查询a=1, b=2的数据,就使用这样的语句db.query(a=1, b=2),结果就返回前面的第二条数据。
那么是否拥有实现上述需求的现成的第三方库呢?几经查找,发现PyDbLite能够满足这样的需求。其实,PyDbLite和Python自带的SQLite均支持内存数据库模式,只是前者是Pythonic的用法,而后者则是典型的SQL用法。
他们具体的用法是这样的:
PyDbLite
import pydblite# 使用内存数据库pydb = pydblite.Base(':memory:')# 创建a,b,c三个字段pydb.create('a', 'b', 'c')# 为字段a,b创建索引pydb.create_index('a', 'b')# 插入一条数据pydb.insert(a=-1, b=0, c=1)# 查询符合特定要求的数据results = pydb(a=-1, b=0)
延伸阅读
学习是年轻人改变自己的最好方式
