binder是一个用于sql数据库的轻量级映射引擎。
binder的Python项目详细描述
#活页夹-一个python sql映射器。
binder是一个用于python的轻量级sql映射器,它允许您执行sql 使用本机python数据类型和方法的操作:
>>> conn.select(Trades, AND(Trades.q.symbol=='RHAT', Trades.q.trans=='BUY')) [{'date': datetime.date(2006, 1, 5), 'symbol': u'RHAT', 'trans': u'BUY', 'price' : 35.0, 'qty': 100}]
数据库行映射到包含本地python数据的python字典 类型。binder使您可以控制执行什么sql查询,同时 负责查询生成、参数传递和数据转换。
目前,binder支持sqlite(通过python内置的sqlite3模块)。 postgresql(通过psycopg2)和mysql(通过mysqldb python模块)。
有关完整文档,请参见manual.txt。
##安装
使用pip安装:
pip install binder
从源安装:
python setup.py install
##快速游览
定义表的架构:
>>> from binder import * >>> Trades = Table("trades", ... DateCol("date"), UnicodeCol("trans", 4), UnicodeCol("symbol", 4), ... IntCol("qty"), FloatCol("price") ... )
使用sqlite创建一个新数据库并创建我们在上面定义的表:
>>> conn = SqliteConnection("readme.db3") >>> conn.create_table(Trades)
使用常规python字典插入行:
>>> from datetime import date >>> row = { ... "date":date(2006, 1, 5), "trans":"BUY", "symbol":"RHAT", ... "qty":100, "price":35 ... } >>> conn.insert(Trades, row) >>> conn.commit()
最后,检索数据:
>>> conn.select(Trades) [{'date': datetime.date(2006, 1, 5), 'symbol': u'RHAT', 'trans': u'BUY', 'price' : 35.0, 'qty': 100}]