返回顶部
首页 > 资讯 > 精选 >TinyDB轻量级数据库怎么使用
  • 595
分享到

TinyDB轻量级数据库怎么使用

2023-07-06 12:07:52 595人浏览 泡泡鱼
摘要

这篇文章主要介绍“TinyDB轻量级数据库怎么使用”,在日常操作中,相信很多人在TinyDB轻量级数据库怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”TinyDB轻量级数据库怎么使用”的疑惑有所帮助!

这篇文章主要介绍“TinyDB轻量级数据库怎么使用”,在日常操作中,相信很多人在TinyDB轻量级数据库怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”TinyDB轻量级数据库怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

TinyDB 是一个纯 python 编写的轻量级数据库,一共只有1800行代码,没有外部依赖项。

TinyDB的目标是降低小型 Python 应用程序使用数据库的难度,对于一些简单程序而言与其用 sql 数据库,不如就用TinyDB, 因为它有如下特点:

  • 轻便:当前源代码有 1800 行代码(大约 40% 的文档)和 1600 行测试代码。

  • 可随意迁移:在当前文件夹下生成数据库文件,不需要任何服务,可以随意迁移。

  • 简单:TinyDB 通过提供简单干净的 api 使得用户易于使用。

  • 用纯 Python 编写: TinyDB 既不需要外部服务器,也不需要任何来自 PyPI 的依赖项。

  • 适用于 Python 3.6+ 和 PyPy3: TinyDB 适用于所有现代版本的 Python 和 PyPy。

  • 强大的可扩展性:您可以通过编写中间件修改存储的行为来轻松扩展 TinyDB。

  • 100% 测试覆盖率:无需解释。

1.准备

开始之前,你要确保Python和pip已经成功安装在电脑上。

请选择以下任一种方式输入命令安装依赖:

windows 环境 打开 Cmd (开始-运行-CMD)。

MacOS 环境 打开 Terminal (command+空格输入Terminal)。

如果你用的是 vscode编辑器 或 PyCharm,可以直接使用界面下方的Terminal.

pip install tinydb

2.简单的增删改查示例

初始化一个DB文件:

from tinydb import TinyDBdb = TinyDB('db.JSON')

这样就在当前文件夹下生成了一个名为 `db.json` 的数据库文件。

往里面插入数据:

from tinydb import TinyDBdb = TinyDB('db.json')db.insert({'type': 'apple', 'count': 7})db.insert({'type': 'peach', 'count': 3})

可以看到,我们可以直接往数据库里插入字典数据,不需要任何处理。下面是批量插入的方法:

db.insert_multiple([ {'name': 'John', 'age': 22}, {'name': 'John', 'age': 37}])db.insert_multiple({'int': 1, 'value': i} for i in range(2))

查询所有数据:

from tinydb import TinyDBdb = TinyDB('db.json')db.all()# [{'count': 7, 'type': 'apple'}, {'count': 3, 'type': 'peach'}]

除了 .all() 我们还可以使用for循环遍历db:

from tinydb import TinyDBdb = TinyDB('db.json')for item in db: print(item)# {'count': 7, 'type': 'apple'}# {'count': 3, 'type': 'peach'}

如果你需要搜索特定数据,可以使用Query():

from tinydb import TinyDBdb = TinyDB('db.json')Fruit = Query()db.search(Fruit.type == 'peach')# [{'count': 3, 'type': 'peach'}]db.search(Fruit.count > 5)# [{'count': 7, 'type': 'apple'}]

更新数据:

from tinydb import TinyDBdb = TinyDB('db.json')db.update({'foo': 'bar'})# 删除某个Keyfrom tinydb.operations import deletedb.update(delete('key1'), User.name == 'John')

删除数据:

删除数据也可以使用类似的条件语句:

from tinydb import TinyDBdb = TinyDB('db.json')db.remove(Fruit.count < 5)db.all()# [{'count': 10, 'type': 'apple'}]

清空整个数据库:

from tinydb import TinyDBdb = TinyDB('db.json')db.truncate()db.all()# []

3.高级查询

除了点操作符访问数据,你还可以用原生的dict访问表示法:

# 写法1db.search(User.country-code == 'foo')# 写法2db.search(User['country-code'] == 'foo')

这两种写法是等效的。

另外在常见的查询运算符(==, <,>, ...)之外,TinyDB还支持where语句:

from tinydb import wheredb.search(where('field') == 'value')

这等同于:

db.search(Query()['field'] == 'value')

这种语法还能访问嵌套字段:

db.search(where('birthday').year == 1900)# 或者db.search(where('birthday')['year'] == 1900)

Any 查询方法:

db.search(Group.permissions.any(Permission.type == 'read'))# [{'name': 'user', 'permissions': [{'type': 'read'}]},# {'name': 'sudo', 'permissions': [{'type': 'read'}, {'type': 'sudo'}]},# {'name': 'admin', 'permissions':# [{'type': 'read'}, {'type': 'write'}, {'type': 'sudo'}]}]

检查单个项目是否包含在列表中:

db.search(User.name.one_of(['jane', 'john']))

TinyDB还支持和pandas类似的逻辑操作:

# Negate a query:db.search(~ (User.name == 'John'))# Logical AND:db.search((User.name == 'John') & (User.age <= 30))# Logical OR:db.search((User.name == 'John') | (User.name == 'Bob'))

到此,关于“TinyDB轻量级数据库怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: TinyDB轻量级数据库怎么使用

本文链接: https://lsjlt.com/news/358138.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • TinyDB轻量级数据库怎么使用
    这篇文章主要介绍“TinyDB轻量级数据库怎么使用”,在日常操作中,相信很多人在TinyDB轻量级数据库怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”TinyDB轻量级数据库怎么使用”的疑惑有所帮助!...
    99+
    2023-07-06
  • TinyDB 一个纯Python编写的轻量级数据库
    TinyDB 是一个纯 Python 编写的轻量级数据库,一共只有1800行代码,没有外部依赖项。TinyDB的目标是降低小型 Python 应用程序使用数据库的难度,对于一些简单程序而言与其用 SQL 数据库,不如就用TinyDB, 因为...
    99+
    2023-05-15
    Python 数据库 TinyDB
  • 使用Python怎么实现SQL Server数据库的对象同步轻量级
    这期内容当中小编将会给大家带来有关使用Python怎么实现SQL Server数据库的对象同步轻量级,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1,表的存在依赖于sch...
    99+
    2024-04-02
  • Chart.js轻量级图表库怎么用
    小编给大家分享一下Chart.js轻量级图表库怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!技术选型研究了Highchar...
    99+
    2024-04-02
  • 轻量级数据库SQL Server Express LocalDb介绍
    目录一、介绍1、SqlLocalDb2、轻量级数据库对比(LocalDB vs. SQL Express vs. Compact)二、安装这个SqlLocalDb1、通过VS Ins...
    99+
    2024-04-02
  • python轻量级数据存储
    python为开发者提供了一个轻量级的数据存储方式shelve,对于一些轻量数据,使用shelve是个比较不错的方式。对于shelve,可以看成是一个字典,它将数据以文件的形式存在本地。下面介绍具体用法。 1 import shelv...
    99+
    2023-01-30
    数据存储 python
  • android轻量级无侵入式管理数据库自动升级组件怎么实现
    这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“android...
    99+
    2023-07-05
  • Python轻量级搜索工具Whoosh怎么使用
    这篇文章主要介绍了Python轻量级搜索工具Whoosh怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python轻量级搜索工具Whoosh怎么使用文章都会有所收获,下面我们一起来看看吧。Whoosh简...
    99+
    2023-07-02
  • TextMate轻量级代码编辑器怎么使用
    使用TextMate轻量级代码编辑器,你需要按照以下步骤操作: 下载和安装TextMate。你可以从TextMate官方网站上下...
    99+
    2023-10-22
    TextMate
  • android轻量级无侵入式管理数据库自动升级组件
    目录SpeSqliteManager4Android改动日志介绍核心设计思想架构设计关配置项json:集成步骤核心代码运行效果SpeSqliteManager4Android 改动...
    99+
    2023-02-28
    android数据库管理组件 android轻量级无侵入式组件
  • 如何理解C#开源轻量级对象数据库NDatabase
    如何理解C#开源轻量级对象数据库NDatabase,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。今天向大家介绍一款.NET下的开源轻量级对象数据库NDataba...
    99+
    2023-06-17
  • 使用java怎么向mysql数据库批量插入数据
    今天就跟大家聊聊有关使用java怎么向mysql数据库批量插入数据,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java可以用来干什么Java主要应用于:1. web开发;2. An...
    99+
    2023-06-14
  • 轻量级分布式RPC框架motan怎么使用
    本文小编为大家详细介绍“轻量级分布式RPC框架motan怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“轻量级分布式RPC框架motan怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。概述Motan...
    99+
    2023-06-29
  • 怎么使用PHP实现轻量级简单爬虫
    本篇内容介绍了“怎么使用PHP实现轻量级简单爬虫”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!爬虫的结构:爬虫的原理其实很简单,就是分析下载...
    99+
    2023-07-05
  • 使用python怎么批量操作redis数据库
    使用python怎么批量操作redis数据库?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。方法一:使用 pipeline  使用pipelining ...
    99+
    2023-06-08
  • 轻量级声明式的Http库——Feign的独立使用
    目录前沿快速开始引入依赖定义接口配置类开始调用json序列化接口层面指定header:指定Encoder跟Decoder使用拦截器注解详解@RequestLine("GET /mes...
    99+
    2024-04-02
  • 怎么升级mysql数据库
    升级 mysql 数据库涉及九个步骤:备份数据、确定新版本、下载安装程序、停止服务、升级 mysql、启动服务、验证版本、更新配置(可选)和测试应用程序。 如何升级 MySQL 数据库...
    99+
    2024-05-30
    mysql linux
  • SQLite本地轻量化数据库使用配置(全套)===》Net
    原文:https://www.cnblogs.com/jsll/p/14140257.html...
    99+
    2022-03-11
    SQLite本地轻量化数据库使用配置(全套)===》Net 数据库入门 数据库基础教程
  • 轻量应用服务器搭建数据库
    ...
    99+
    2023-10-26
    服务器 数据库
  • 详解Android轻量型数据库SQLite
    数据库是Android存储方案的核心,在Andorid中SQLite非常轻量,而且执行sql语句甚至比MySQL还要快。 SQLiteDatabase 是 Android 中...
    99+
    2022-06-06
    数据 SQLite Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作