Skip to content

leafcoder/litedb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

litedb

基于 sqlite3 实现的简单对象数据库

1. 创建对象

>>> from litedb import LiteDB
>>> litedb = LiteDB('sqlite.db')

2. 开始事务

>>> txn = litedb.begin()
>>> ......

3. 获取所有表名

>>> txn = litedb.begin()
>>> print txn.tables
('table_1', 'table_2')

4. 新建表、获取表

>>> txn = litedb.begin()
>>> table = txn.table('table_1')
>>> print table.name
>>> txn.commit()

5. 删除表

>>> txn = litedb.begin()
>>> txn.delete('table_1')
>>> txn.commit()

6. 新建行

>>> txn = litedb.begin()
>>> table_name = 'table_1'
>>> table = txn.table(table_name)
>>> row = table.insert(None)
>>> row = table.insert(1)
>>> row = table.insert(2.5)
>>> row = table.insert('text')
>>> ...
>>> row = table.insert({'name': 'litedb'})
>>> txn.commit()

6. 获取行

>>> txn = litedb.begin()
>>> table = txn.table('table_1')
>>> row = table.row(1)

7. 更新行数据

>>> txn = litedb.begin()
>>> table_name = 'table_1'
>>> table = txn.table(table_name)
>>> table.update(1, None)
>>> table.update(2, 1)
>>> table.update(3, 2.5)
>>> table.update(4, 'text')
>>> ...
>>> table.update(9, {'name': 'litedb'})
>>> txn.commit()

8. 删除行

>>> txn = litedb.begin()
>>> table = txn.table('table_1')
>>> table.delete(1)
>>> txn.commit()

9. 提交事务

>>> txn = litedb.begin()
>>> ... # write something
>>> txn.commit()

10. 回滚事务

>>> txn = litedb.begin()
>>> ... # write something
>>> txn.rollback()

11. 搜索数据 TODO

>>> txn = litedb.begin()
>>> table_name = 'table_1'
>>> table = txn.table(table_name)
>>> table.search(
    AND={
        'name': 'leo',
        'age': {'lt': 20, 'gt': 10},
        'grade': [1, 2, 3, 4, 5],
        'addr': None
    },
    OR={},
    NOT={},
    order=[
        {'name': 'desc'},
        {'name': 'desc'},
        {'name': 'desc'},
        {'name': 'desc'}
    ]
)