龙眼 v0.6 版本更新啦,让 Python 对 sqlite3 的 CRUD 好吃更甜! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
coffeSlider
V2EX    Python

龙眼 v0.6 版本更新啦,让 Python 对 sqlite3 的 CRUD 好吃更甜!

  •  
  •   coffeSlider 2018 年 5 月 6 日 3959 次点击
    这是一个创建于 2806 天前的主题,其中的信息可能已经有所发展或是发生改变。

    欢迎使用 longan-sqlite3 v0.6

    https://github.com/myemperor/longan-sqlite3

    我们理解您需要更便捷更高效更轻量级的工具记录数据,并将其中承载的价值传播给他人,longan-sqlite3 是我们给出的答案 让您随心所欲的完成如下功能

    • Create
    • Research
    • Update
    • Delete
    • 您现在看到的这个 longan-sqlite3 版本,仅为开发版,功能将陆续增加

    • 0.6 新增排序和分页的函数,支持了几乎所有聚合函数

    • 0.5 where 子句

    •  1.新增 between 和 in 的支持, 新增方法; 
    •  2.提供 like 表达式忽略大小写的功能 
    • init 方法提供 debug 模式,可以打印 sql 语句 
    • 0.4 新增 API 文档

    • 0.3 新增分组聚合函数

    • 0.2 修复了主键判断,修复了 handler 接口


    什么是 longan

    longan 是一种水果,很甜,喜欢的人吃很多,不喜欢的人一吃就上火!

    1. 以下是我们计划中的功能

    • [x] 支持 CRUD
    • [x] 支持 分组聚合函数
    • [x] 修复 API 文档
    • [x] 新增 where 语句支持

    2. 以下是我们的行为守恒公式

    lOngan=mc^2

    3. 使用方法

    • 导入 longan
    from longan_sqlite import Longan, Flesh 
    • 初始化 longan
    Longan.init('test.db', True) 
    • 实例化 longan
    lOngan= Longan('company') 
    • 导入数据库(此处会在日后的版本中进行抽象)
    longan.execute_file('company.sql') 
    • 其中的表结构 company.sql
    CREATE TABLE IF NOT EXISTS COMPANY( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INT NOT NULL, address CHAR(50), salary REAL ); 
    • Create
    flesh = Flesh(name='emperor', age=23, address='北京', salary=10) longan.insert_or_update(flesh) 
    • Update
    flesh.age += 1 flesh.salary += 5 longan.insert_or_update(flesh) 
    • Query
    ret = longan.where(age_gt=18, salary_elt=100, salary_gt=0).query() for r in ret: print(r) 
    • Delete
    # 查询 ret = longan.where(age_gt=18, salary_elt=100, salary_gt=0).query() for r in ret: print(r) if r.name == 'jobs': # 通过对象进行删除 longan.delete(r) # 通过条件进行删除 longan.where(id_gt=0).delete() 
    • 0.3 新增分组聚合查询
    longan.aggregate(age_max="maxAge", salary_min="minSalary") longan.where(age_gt=5) longan.group_by('address') ret = longan.query() for r in ret: print(r) 
    9 条回复    2018-05-06 15:06:38 +08:00
    omph
        1
    omph  
       2018 年 5 月 6 日
    有没有竞品比较?
    SingeeKing
        2
    SingeeKing  
    PRO
       2018 年 5 月 6 日
    为什么叫龙眼然后仓库叫 longan
    Weijianism
        3
    Weijianism  
       2018 年 5 月 6 日 via Android   1
    @SingeeKing 龙眼英语就是 longan (粤语发音)
    coffeSlider
        4
    coffeSlider  
    OP
       2018 年 5 月 6 日
    @omph
    比如 Django 的数据库封装 module。


    @Weijianism
    感谢帮忙回复
    raptium
        5
    raptium  
       2018 年 5 月 6 日 via iPhone
    @Weijianism 粤语……这发音感觉是懒音啊
    Hansah
        6
    Hansah  
       2018 年 5 月 6 日 via iPhone
    龙眼的尸体叫桂圆
    myliyifei
        7
    myliyifei  
       2018 年 5 月 6 日
    简单 ORM ?可是也有其他很轻量的 ORM
    luxinxin
        8
    luxinxin  
       2018 年 5 月 6 日   1
    R == Retrieve
    coffeSlider
        9
    coffeSlider  
    OP
       2018 年 5 月 6 日
    @luxinxin

    多谢指教
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2723 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 09:46 PVG 17:46 LAX 01:46 JFK 04:46
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86