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')
相关推荐
试剂小课堂 Pro2 分钟前
Ald-PEG-Ald:丙醛与聚乙二醇两端连接的对称分子
java·c语言·c++·python·ffmpeg
独自破碎E2 分钟前
【双指针】接雨水
java·开发语言
玄同7654 分钟前
SQLAlchemy 初始化全流程详解:从引擎到会话的每一步
数据库·人工智能·python·sql·mysql·语言模型·知识图谱
小北方城市网5 分钟前
MyBatis-Plus 生产级深度优化:从性能到安全的全维度方案
开发语言·redis·分布式·python·缓存·性能优化·mybatis
diediedei5 分钟前
使用XGBoost赢得Kaggle比赛
jvm·数据库·python
小芳矶6 分钟前
使用 Langgraph 构建本地 RAG 知识库:从文档加载到检索
python·langchain
naruto_lnq6 分钟前
Python入门:从零到一的第一个程序
jvm·数据库·python
玄同7658 分钟前
大模型生成 Token 的原理:从文本到模型理解的 “翻译官”
人工智能·python·语言模型·自然语言处理·nlp·知识图谱·token
m0_561359679 分钟前
如何从Python初学者进阶为专家?
jvm·数据库·python
@呵呵10 分钟前
上传图片裁剪
开发语言·javascript·vue.js