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}]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Jetty是否有请求缓存?   数组中的java 2值与我的数据帧中的2列对应   对象序列化期间的java DbUtils类型转换问题   java根面板中不显示所有单独的面板   java通过代理或SSH隧道连接Hbase API   java困惑:与经典MVC控制器相比,JSF2中bean的角色   java在我的Triangle类中“找不到符号错误”   java在Android中设置从路径到自定义按钮的图像   java不绕轨道旋转椭圆   AES在socket上搞砸了序列化/反序列化。无效的流标头。JAVA   java在数组中搜索term和if语句   线程“main”java中出现异常。util。正则表达式。PatternSyntaxException:在索引0附近悬挂元字符“*”*   Websphere上的java Google反射无法打开url连接   java为什么inc/dec频道什么都不做?   java KeyListener无法访问keyPressed方法