Mysql学习笔记(三):fetchone(), fetchmany(), fetchall()详细总结

本文档介绍了如何在Mysql中使用fetchone(), fetchmany(), fetchall()函数进行数据检索,包括它们的功能、SQL语句示例和在特定场景下的应用。通过实例演示,学习者将理解如何根据timestamp获取指定时间范围内的人员信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相关链接

Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
Mysql学习笔记(二):数据库命令行代码总结
Mysql学习笔记(三):fetchone(), fetchmany(), fetchall()详细总结
Mysql学习笔记(四):Python与Mysql交互–实现增删改查


✅💖⚠️▶️➡️🌿🍀🍄🌟⭐❄️✅💖⚠️▶️➡️🌿🍀🍄🌟⭐❄️✅💖⚠️▶️➡️🌿🍀🍄🌟⭐❄️✅💖⚠️

在数据库操作中,使用 Python 与数据库进行交互时,fetchonefetchmanyfetchall 是几个非常重要的方法,它们在从数据库获取查询结果时发挥着关键作用,以下为你详细介绍:

fetchone

fetchone 是数据库游标对象提供的一个方法,主要用于从数据库查询结果集中获取单个元组。简单来说,它返回的是一条记录(row)。这个方法就像是从数据库这个“大仓库”里精确地取出一件物品。

当执行一个 SQL 查询语句后,数据库会返回相应的结果集。fetchone 方法会从这个结果集中取出第一条记录,并以元组的形式返回。例如,在一个存储用户信息的数据库表中,假设我们执行了一个查询语句来获取某个特定用户的信息,fetchone 方法就会返回包含该用户各项信息的一个元组。

需要注意的是,如果查询结果集中没有任何记录,也就是说查询没有找到符合条件的结果,那么 fetchone 方法将返回 None。这就好比在仓库里寻找一件特定的物品,但这件物品根本不存在,此时就会得到一个表示“没有找到”的信号,在 Python 中这个信号就是 None

fetchmany

fetchmany 方法同样是数据库游标对象的一个方法,它的作用是从数据库查询结果集中获取多个元组,即返回多条记录(rows)。与 fetchone 每次只取一条记录不同,fetchmany 允许我们一次性获取多条记录,这在需要批量处理数据的场景中非常有用。

使用 fetchmany 方法时,我们需要指定要获取的记录数量。例如,调用 fetchmany(2),它会从结果集中取出两条记录,并以元组的形式返回这两条记录。这里的元组嵌套了两个子元组,每个子元组代表一条记录。

如果在调用 fetchmany 方法时没有指定具体的数量,那么它默认会返回 1 条记录。这就相当于如果没有明确告诉它要取多少条,它就按照“保守”的方式只取一条记录。

fetchall

fetchall 方法也是游标对象的重要成员,它的功能是从数据库查询结果集中获取所有的元组,也就是返回所有符合查询条件的记录(rows)。可以把它想象成将整个查询结果集一次性“打包”取出来。

当执行一个查询操作后,fetchall 方法会遍历整个结果集,将所有记录以元组的形式返回。这个返回的元组包含了多个子元组,每个子元组对应一条记录。例如,如果查询结果集有 10 条记录,那么 fetchall 方法返回的就是一个包含 10 个子元组的大元组。

fetchone 类似,如果查询结果集中没有任何记录,即查询没有找到符合条件的结果,fetchall 方法将返回一个空元组 ()。这表明结果集中没有任何数据。

需要特别说明的是,在数据库领域,不同的数据库系统对于空值的表示方式有所不同。在 MySQL 数据库中,空值通常用 NULL 来表示;而在 Python 语言中,与之对应的空值表示为 None。这种差异在进行数据库与 Python 交互编程时需要特别注意,以确保数据的正确处理和逻辑的准确性。

实际操作

进入数据库
在这里插入图片描述
选择数据库
在这里插入图片描述
创建数据表

create table test(
id int unsigned primary key auto_increment not null,
name varchar(150) not null,
timestamp varchar(50) not null);   

在这里插入图片描述
插入数据:此时我插入了两个相同时间,不同名字的数据。
在这里插入图片描述
如果我们想要根据timestamp 2021_12_28_10_03来获取当前时间所有的人名信息。

这就需要了解fatchone、fatchmany、fatchall的操作了。

fatchone
只能获取一条(主键id从小到大找)

  • sql语句
    在这里插入图片描述
  • 输入:timestamp=2021_12_28_10_03
  • 输出:
    在这里插入图片描述

fatchmany
需要指定输出多少条记录,比如说2会固定输出两条记录,如果是默认则为第一条记录

  • sql语句
    在这里插入图片描述
  • 输入:timestamp=2021_12_28_10_03
  • 输出:
    在这里插入图片描述

fatchall
能获取指定时间下所有满足条件的信息。

  • sql语句
    在这里插入图片描述
  • 输入:timestamp=2021_12_28_10_03
  • 输出:在这里插入图片描述

✅💖⚠️▶️➡️🌿🍀🍄🌟⭐❄️✅💖⚠️▶️➡️🌿🍀🍄🌟⭐❄️✅💖⚠️▶️➡️🌿🍀🍄🌟⭐❄️✅💖⚠️

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZZY_dl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值