- 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 - Upsert 数据
- TinyDB - 检索数据
- TinyDB - 文档 ID
- TinyDB - 表格
- TinyDB - 默认表格
- TinyDB - 查询缓存
- TinyDB - 存储类型
- TinyDB - 中间件
- TinyDB - 扩展 TinyDB
- TinyDB - 扩展
- TinyDB 有用资源
- TinyDB - 快速指南
- TinyDB - 有用资源
- TinyDB - 讨论
TinyDB - 删除数据
如果您需要永久地从 TinyDB 数据库中删除特定数据集,可以使用remove() 方法。与检索和更新数据一样,您首先需要为删除数据创建一个Query类的实例。您可以使用以下命令来实现此目的:
from tinydb import Query Student = Query()
这里,Student 是我们数据库的名称。
remove() 方法
以下是 remove() 方法的语法:
db.remove( Query() field regex )
remove() 方法接受可选条件和可选文档 ID 列表。
student 数据库
在本节的示例中,我们将使用以下student 数据库。
[ { "roll_number":1, "st_name":"elen", "mark":250, "subject":"TinyDB", "address":"delhi" }, { "roll_number":2, "st_name":"Ram", "mark":[ 250, 280 ], "subject":[ "TinyDB", "MySQL" ], "address":"delhi" }, { "roll_number":3, "st_name":"kevin", "mark":[ 180, 200 ], "subject":[ "oracle", "sql" ], "address":"keral" }, { "roll_number":4, "st_name":"lakan", "mark":200, "subject":"MySQL", "address":"mumbai" }, { "roll_number":5, "st_name":"karan", "mark":275, "subject":"TinyDB", "address":"benglore" } ]
示例:删除一行数据
让我们来看一个示例来了解 remove() 方法。
from tinydb import TinyDB, Query student = Query() db.remove(student.roll_number == 5)
以上查询将删除学生学号为 5 的数据。它将返回已删除对象的 ID:
[5]
现在,我们可以使用 all() 方法查看更新后的数据库。
db.all()
它将显示更新后的数据库中的数据:
[ { "roll_number":1, "st_name":"Adam", "mark":250, "subject":"TinyDB", "address":"delhi" }, { "roll_number":2, "st_name":"Ram", "mark":[ 250, 280 ], "subject":[ "TinyDB", "MySQL" ], "address":"delhi" }, { "roll_number":3, "st_name":"kevin", "mark":[ 180, 200 ], "subject":[ "oracle", "sql" ], "address":"keral" }, { "roll_number":4, "st_name":"lakan", "mark":200, "subject":"MySQL", "address":"mumbai" } ]
示例:删除多行数据
如果您想一次删除多行,可以使用 remove() 方法,如下所示:
from tinydb import TinyDB, Query student = Query() db.remove(student.roll_number > 2)
它将返回已删除对象的 ID
[3,4]
使用 all() 方法查看更新后的数据库。
db.all()
它将显示更新后的数据库中的数据:
[ { "roll_number":1, "st_name":"Adam", "mark":250, "subject":"TinyDB", "address":"delhi" }, { "roll_number":2, "st_name":"Ram", "mark":[ 250, 280 ], "subject":[ "TinyDB", "MySQL" ], "address":"delhi" } ]
示例:删除所有数据
如果您想删除数据库中的所有数据,可以使用truncate() 方法,如下所示:
db.truncate()
接下来,使用 all() 方法查看更新后的数据库。
db.all()
它将显示一个空数据库作为输出:
[]
广告