python使用dataset快速使用SQLite

目录

一、官网地址

二、安装

[三、 快速使用](#三、 快速使用)


一、官网地址

GitHub - pudo/dataset: Easy-to-use data handling for SQL data stores with support for implicit table creation, bulk loading, and transactions.

二、安装

python 复制代码
 pip install dataset
如果是mysql,则多安装一个依赖:pip install mysqlclient

三、 快速使用

python 复制代码
import dataset

if __name__ == '__main__':
    """
    先天支持sqlite
    如果是mysql,则多安装一个依赖:pip install mysqlclient
    """
    db = dataset.connect('sqlite:///mydatabase.db')
    # 建表,如果表,则dataset会自动创建。
    table = db['user']
    # 新增
    table.insert(dict(name="张三丰", age=18, country='China'))
    # 新增
    table.insert(dict(name='Jane Doe', age=37, country='France', gender='female'))
    # 修改数据
    table.update(dict(name='张三丰', age=34), ['name'])  # 根据name值过滤进行修改
    # 快速事务,显式使用事务参考官网
    with dataset.connect('sqlite:///mydatabase.db') as tx:
        tx['user'].insert(dict(name='John Doe', age=46, country='China'))
    # 所有表
    tables = db.tables
    # 表字段
    columns = table.columns
    # 总行数
    count = len(table)
    # 所有数据
    users = table.all()
    # 搜索
    users_china = table.users_in(country='China')
    # 获取特定数据
    one = table.find_one(name='John Doe')
    # 查找多个
    users_in = table.find(id=[1, 3, 7])
    # 比较查找
    elderly_users1 = table.find(age={'>=': 70})
    possible_customers = table.find(age={'between': [21, 80]})
    elderly_users2 = table.find(table.table.columns.age >= 70)

    # 自定义SQL
    result = db.query('SELECT country, COUNT(*) c FROM user GROUP BY country')
相关推荐
Sylvia-girl2 小时前
Java——抽象类
java·开发语言
Yana.nice4 小时前
Bash函数详解
开发语言·chrome·bash
江沉晚呤时4 小时前
在 C# 中调用 Python 脚本:实现跨语言功能集成
python·microsoft·c#·.net·.netcore·.net core
电脑能手5 小时前
如何远程访问在WSL运行的Jupyter Notebook
ide·python·jupyter
tomorrow.hello6 小时前
Java并发测试工具
java·开发语言·测试工具
Edward-tan6 小时前
CCPD 车牌数据集提取标注,并转为标准 YOLO 格式
python
晓13136 小时前
JavaScript加强篇——第四章 日期对象与DOM节点(基础)
开发语言·前端·javascript
老胖闲聊6 小时前
Python I/O 库【输入输出】全面详解
开发语言·python
倔强青铜三6 小时前
苦练Python第18天:Python异常处理锦囊
人工智能·python·面试
倔强青铜三6 小时前
苦练Python第17天:你必须掌握的Python内置函数
人工智能·python·面试