有一个 Java 程序员,居然日常使用 Python 处理数据执行一些 sql, 不想使用重量 ORM 框架,DBAPI-2.0 简直比 JDBC 还繁琐,操作 sqlite, mysql 居然占位符还不一样(?, %s), 作为一个工具人自然会去发现 SQLAlchemy 、records...没找到我的滑板鞋,我的滑板鞋必须是:
- 执行 sql 语句方便
- 轻量的 crud 功能
- 连接池支持: dbutils
- 屏蔽不同 db 驱动包差异: 占位符一致?, 默认行数据 dict 类型
于是有了 dbtool:
# sqlite3 ....
db = dbtool.DB('sqlite', database=':memory:')
# sql
db.execute(sql)
db.execute_fetchone(sql)
db.execute_count(sql)
db.execute_cursor(sql)
db.execute_many(sql)
db.execute_script(sql)
db.execute_file(file)
# crud
db.insert(dict, table='user')
db.update(dict, table='user')
...
~摩擦~ https://github.com/lkqm/dbtool.py ~摩擦~