鉴于 Python DB-API2.0 操作 SQL 太麻烦,封装了一个最轻量的工具包 dbtool.

2021-03-05 19:25:44 +08:00
 MarioLuo

有一个 Java 程序员,居然日常使用 Python 处理数据执行一些 sql, 不想使用重量 ORM 框架,DBAPI-2.0 简直比 JDBC 还繁琐,操作 sqlite, mysql 居然占位符还不一样(?, %s), 作为一个工具人自然会去发现 SQLAlchemy 、records...没找到我的滑板鞋,我的滑板鞋必须是:

于是有了 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 ~摩擦~

1887 次点击
所在节点    Python
4 条回复
Acoffice
2021-03-05 19:35:42 +08:00
厉害
qile1
2021-03-06 13:53:43 +08:00
有没有考虑 oracle 和 mssql 这些时间字段处理的区分,另外时间数据库微妙是三位,python 是六位好像,这些有没有办法处理
MarioLuo
2021-03-06 14:07:07 +08:00
@qile1 mssql 使用驱动包 pymssql,如果包本身时间处理有问题就没发处理了,dbtool 主要简化 dbapi2.0, 屏蔽底层驱动包差异
adocder
2021-04-20 17:52:25 +08:00
我觉得 peewee 就挺好用的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/758911

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX