- TinyDB教程
- TinyDB - 主页
- TinyDB - 简介
- TinyDB - 环境设置
- TinyDB - 插入数据
- TinyDB - 检索数据
- TinyDB - 更新数据
- TinyDB - 删除数据
- TinyDB - 查询
- TinyDB - 搜索
- TinyDB - where 子句
- TinyDB - Exists() 查询
- TinyDB - Matches() 查询
- TinyDB - Test() 查询
- TinyDB - Any() 查询
- TinyDB - All() 查询
- TinyDB - one_of() 查询
- TinyDB - 逻辑否定
- TinyDB - 逻辑与
- TinyDB - 逻辑或
- TinyDB - 处理数据查询
- TinyDB - 修改数据
- TinyDB - 更新数据
- TinyDB - 检索数据
- TinyDB - 文档ID
- TinyDB - 表
- TinyDB - 默认表
- TinyDB - 缓存查询
- TinyDB - 存储类型
- TinyDB - 中间件
- TinyDB - 扩展TinyDB
- TinyDB - 扩展
- TinyDB 有用资源
- TinyDB - 快速指南
- TinyDB - 有用的资源
- TinyDB - 讨论
TinyDB - 修改数据
我们已经讨论了更新查询,借助它我们可以修改值以及处理数据库中的数据。但是诸如db.update(fields, query)之类的更新查询允许我们通过添加或覆盖其值来更新文档。
但有时,我们想删除一个字段或需要增加其值。在这种情况下,我们可以传递函数而不是字段。我们可以将以下操作与更新查询一起使用 -
增量查询
增量查询,顾名思义,用于增加数据库中某个键的值。增量查询的语法如下-
from tinydb.operations import increment db.update(increment('key'))
添加查询
添加查询用于将值添加到键的值中。它也适用于弦乐。添加查询的语法如下-
from tinydb.operations import add db.update(add(key, value))
集合查询
该查询用于将键设置为数据的值。设置查询的语法如下-
from tinydb.operations import set db.update(set(key, value))
减量查询
自减查询用于减少键的值。递减查询的语法如下-
from tinydb.operations import decrement db.update(decrement(key))
减法查询
subtarct 查询用于从键的值中减去值。减法查询的语法如下-
from tinydb.operations import subtract db.update(subtract(key, value))
删除查询
删除查询用于从文档中删除键。删除查询的语法如下-
from tinydb.operations import delete db.update(delete(key))
让我们举几个示例来演示如何将这些操作与更新查询一起使用。我们将使用前面所有章节中使用的相同学生数据库。
实施例1
让我们看看如何增加学生表中学生的分数-
from tinydb import TinyDB, Query db = TinyDB('student.json') from tinydb.operations import increment db.update(increment('mark'), Query().mark == 275)
它将产生以下输出-
[5]
上面的输出显示它已经更新了文档 ID 为 5 的记录。
实施例2
让我们看看如何为学生表中的学生分数添加5 分-
from tinydb import TinyDB, Query db = TinyDB('student.json') from tinydb.operations import add db.update(add('mark', 5), Query().mark == 200)
它将产生以下输出-
[4]
上面的输出显示它已经更新了文档 ID 为 4 的记录。
实施例3
让我们看看如何将分数设置为 259,其中学生表中学生的分数为 250 -
from tinydb import TinyDB, Query db = TinyDB('student.json') from tinydb.operations import add db.update(add('mark', 259), Query().mark == 250)
它将产生以下输出-
[1]
上面的输出显示它已经更新了文档 ID 为 1 的记录。
实施例4
让我们看看如何减少学生表中学生的分数-
from tinydb import TinyDB, Query db = TinyDB('student.json') from tinydb.operations import decrement db.update(decrement('mark'), Query().mark == 205)
它将产生以下输出-
[4]
上面的输出显示它已经更新了文档 ID 为 4 的记录。
实施例5
让我们看看如何将学生表中学生的分数减去5 分-
from tinydb import TinyDB, Query db = TinyDB('student.json') from tinydb.operations import add db.update(add('mark', 5), Query().mark == 204)
它将产生以下输出-
[4]
上面的输出显示它已经更新了文档 ID 为 4 的记录。
实施例6
让我们看看如何将学生表中学生的分数减去5 分 -
from tinydb import TinyDB, Query db = TinyDB('student.json') from tinydb.operations import delete db.update(delete('mark'), Query().mark == 209)
它将产生以下输出-
[4]
上面的输出显示它已经更新了文档ID为4的记录。它将从数据库中删除值为209的mark字段。
实施例7
让我们看看如何使用单个查询更新表中的多个值 -
from tinydb import TinyDB, Query db = TinyDB('student.json') from tinydb import where db.update_multiple([ ({'st_name':'Eliana'}, where ('roll_number')==1), ({'mark':20}, where ('roll_number') ==2) ])
它将产生以下输出-
[1,2]
上面的输出显示它已经更新了文档 ID 为 1 和 2 的两条记录。