有一个 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) b.execute_script(sql) db.execute_file(file) # crud db.insert(dict, table='user') db.update(dict, table='user') ... ~摩擦~ https://github.com/lkqm/dbtool.py ~摩擦~
