dbpy是一个python写的数据库CURD人性化api库。借鉴了 webpy db 和 drupal database 的设计。 如果喜欢 tornado db 或者 webpy db这类轻巧的db库,或者想发挥原生SQL优势,那么值得一试。
特性:
灵活简单
天马行空的SQL构建语法糖
线程安全的连接池
支持读写分离(当前限定只能是一主多副模式)
支持简单事务
示例代码:
print db.query('SELECT 1') # > ((1L,),) # use social db print db.query('SELECT 1', key='social') # > ((1L,),) print db.query('SELECT * FROM users WHERE uid=%s and name=%s', (1, 'user_1')) # > ((1L, u'user_1'),) # Wanna return dict row print db.query('SELECT * FROM users WHERE uid=%s and name=%s', (1, 'user_1'), as_dict=True) # > ({'uid': 1L, 'name': u'user_1'},) # Use fetchmany(many) then yeild, Return generator res = db.query('SELECT * FROM users WHERE uid=%s and name=%s', (1, 'user_1'), many=5, as_dict=True) print res print res.next() # > <generator object _yield at 0x7f818f4b6820> # > {'uid': 1L, 'name': u'user_1'}