Python从Oracle数据库中获取数据——fetchall(),fetchone(),fetchmany()函数功能分析

article/2025/10/23 8:49:21

Python从Oracle数据库中获取数据——fetchall(),fetchone(),fetchmany()函数功能分析

一、fetchall(),fetchone(),fetchmany()简单介绍

1、fetchall()函数,它的返回值是多个元组,即返回多个行记录,如果没有结果,返回的是()
2、fetchone()函数,它的返回值是单个的元组,也就是一行记录,如果没有结果,那就会返回None,每次向后抓取一条记录
3、 fetchmany()函数,返回多个元组,返回多条记录(row),需要指定具体返回多少个记录。如fetchmany(2) 返回两条记录,默认则为1

二、fetchall(),fetchone(),fetchmany()详细介绍

下图是我这次学习使用的数据截图:
在这里插入图片描述然后我使用python连接到Oracle数据库,获取游标,编写sql语句。

import cx_Oracle
conn = cx_Oracle.connect('yoyo', '123456', '127.0.0.1:1521/yoyo')
# 使用cursor()方法获取操作游标
cursor = conn.cursor() 
# 通过游标cur操作execute()方法可以写入纯sql语句
s = cursor.execute("""select * from BRAND order by ID asc""")

下面进入正题,先使用fetchall()函数并查看执行结果。代码如下:

# fetchall()函数,它的返回值是多个元组,即返回多个行记录,如果没有结果,返回的是()
result1 = s.fetchall()
print(result1)

执行结果如下:
在这里插入图片描述
看到执行结果如我们预想的一样,按ID值升序排列获取全部5条记录,就像这个函数的名字一样,fetchall()就是抓取所有数据。

接着,我们再接着加入fetchone()函数,代码如图所示:

import cx_Oracle
# 执行以上代码,如果没有产生错误,表明安装成功
# 连接数据库,下面括号里内容根据自己实际情况填写
conn = cx_Oracle.connect('yoyo', '123456', '127.0.0.1:1521/yoyo')
# 使用cursor()方法获取操作游标
cursor = conn.cursor()
# 通过游标cur操作execute()方法可以写入纯sql语句
s = cursor.execute("""select * from BRAND order by ID asc""")
# fetchall()函数,它的返回值是多个元组,即返回多个行记录,如果没有结果,返回的是()
result1 = s.fetchall()
print(result1)
# fetchone()函数,它的返回值是单个的元组,也就是一行记录,如果没有结果,那就会返回None,每次向后抓取一条记录
result2 = s.fetchone()
result3 = s.fetchone()
print(result2)
print(result3)

执行结果如下所示:
在这里插入图片描述我们看到因为fetchall()已经把全部5条数据都抓取了,所以再使用fetchone()抓取数据,就会为空,和介绍中的功能完全符合,返回了None

这次我们注释掉fetchall()函数,再次执行如下代码:

import cx_Oracle
# 执行以上代码,如果没有产生错误,表明安装成功
# 连接数据库,下面括号里内容根据自己实际情况填写
conn = cx_Oracle.connect('yoyo', '123456', '127.0.0.1:1521/yoyo')
# 使用cursor()方法获取操作游标
cursor = conn.cursor()
# 通过游标cur操作execute()方法可以写入纯sql语句
s = cursor.execute("""select * from BRAND order by ID asc""")
# fetchall()函数,它的返回值是多个元组,即返回多个行记录,如果没有结果,返回的是()
# result1 = s.fetchall()
# print(result1)
# fetchone()函数,它的返回值是单个的元组,也就是一行记录,如果没有结果,那就会返回None,每次向后抓取一条记录
result2 = s.fetchone()
result3 = s.fetchone()
print(result2)
print(result3)

执行结果如下所示:
在这里插入图片描述
我们看到这次fetchone()函数抓取到了数据,根据fetchone()函数的功能所说,它是每次返回一个元组,执行一次就向后抓取一次数据,所以执行两次的结果result2和result3获取到的是不同的值。

接着,我们在后面再加入fetchmany()函数,代码如图所示:

import cx_Oracle
# 执行以上代码,如果没有产生错误,表明安装成功
# 连接数据库,下面括号里内容根据自己实际情况填写
conn = cx_Oracle.connect('yoyo', '123456', '127.0.0.1:1521/yoyo')
# 使用cursor()方法获取操作游标
cursor = conn.cursor()
# 通过游标cur操作execute()方法可以写入纯sql语句
s = cursor.execute("""select * from BRAND order by ID asc""")
# fetchall()函数,它的返回值是多个元组,即返回多个行记录,如果没有结果,返回的是()
# result1 = s.fetchall()
# print(result1)
# fetchone()函数,它的返回值是单个的元组,也就是一行记录,如果没有结果,那就会返回None,每次向后抓取一条记录
result2 = s.fetchone()
result3 = s.fetchone()
print(result2)
print(result3)
# fetchmany()函数,返回多个元组,返回多条记录(row),需要指定具体返回多少个记录。如fetchmany(2) 返回两条记录,默认则为1
result4 = s.fetchmany(3)
print(result4)

执行结果如下图所示:
在这里插入图片描述
在代码中,fetchmany()函数填写的获取数据的条数为3,所以运行结果的最后一行是最后三条记录,一起被显示出来。值得注意的是,fetchmany()函数是接着fetchone()函数抓取数据的,并不是又从回到头开始抓取数据,这在编程时应该被注意。

以上是我的学习分享,有不对的地方敬请读者指正。


http://chatgpt.dhexx.cn/article/RNsmmZgP.shtml

相关文章

KITTI数据集可视化(一):点云多种视图的可视化实现

如有错误,恳请指出。 在本地上,可以安装一些软件,比如:Meshlab,CloudCompare等3D查看工具来对点云进行可视化。而这篇博客是将介绍一些代码工具将KITTI数据集进行可视化操作,包括点云鸟瞰图,FOV…

KITTI数据集的点云格式转PCD格式

参考文章:https://blog.csdn.net/xinguihu/article/details/78922005 KITTI数据集应该不用多做介绍了,基本上做自动驾驶的都知道这个东西。最近本人用到这个数据集想看看里面的点云长什么模样,却发现有点别扭,没有直接可以看的工…

使用kitti数据集实现自动驾驶——发布照片、点云、IMU、GPS、显示2D和3D侦测框

本次内容主要是使用kitti数据集来可视化kitti车上一些传感器(相机、激光雷达、IMU)采集的资料以及对行人和车辆进行检测并在图像中画出行人和车辆的2D框、在点云中画出行人和车辆的3D框。 首先先看看最终实现的效果: 自动驾驶视频 看了上面的…

KITTI数据集-label解析笔记

笔记摘自:KITTI数据集--label解析与传感器间坐标转换参数解析_苏源流的博客-CSDN博客 KITTI数据集是自动驾驶领域最知名的数据集之一。 一、kitti数据集,label解析 16个数代表的含义: 第1个字符串:代表目标的类别 Car, Van, Tru…

16个车辆信息检测数据集收集汇总(简介及链接)

16个车辆信息检测数据集收集汇总(简介及链接) 转载自:https://blog.csdn.net/u014546828/article/details/109089621?utm_mediumdistribute.pc_relevant.none-task-blog-baidujs_baidulandingword-1&spm1001.2101.3001.4242 目录 1. UA-DETRAC …

双目网络公开数据集的特性

文章目录 概述SceneFlowKITTI 2012 & 2015ETH3D 2017Middlebury 2014 概述 参考文章:Rethinking Training Strategy in Stereo Matching 主流双目公开数据集有:SceneFlow、KITTI、ETH3D、MB。 各个双目网络主流训练数据视差分布的直方图:…

KITTI数据集下载及介绍

KITTI数据集下载及介绍 KITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集。该数据集用于评测立体图像(stereo),光流(optical flow),视觉测距(visual odometry…

KITTI 数据集--下载链接

Visual Odometry / SLAM Evaluation 2012 数据集主页:The KITTI Vision Benchmark Suite (cvlibs.net) 里程计基准由22个立体序列组成,以无损失png格式保存。 11个具有真实轨迹的序列(00-10)用于训练,11个没有真实…

KITTI数据集下载及解析

KITTI数据集下载及解析 W.P. Xiao, Vision group,SHUSV 版本更新时间更新内容作者1V 1.02020.01.09完成主体内容W.P. Xiao2 文章目录 KITTI Dataset1 简介1.1 数据采集平台1.2 坐标系 2 数据解析2.1 image文件2.2 velodyne文件2.3 calib文件2.4 label文件 3 KITTI可…

无人驾驶之KITTI数据集介绍与应用(一)——数据组织方式介绍

本系列博客旨在介绍无人驾驶领域中颇负盛名的KITTI公开数据集,首先整体介绍该数据集的由来、数据组织方式、官方开发工具的使用,重点详细介绍其中对于Object、Tracking和raw data的数据使用,主要分享了我在使用这些数据集时开发的一些工具&am…

waymo数据集总结

参考资料 官网: https://waymo.com/open/data/perception/#lidar-data 文章: https://arxiv.org/pdf/1912.04838.pdf github: https://github.com/waymo-research/waymo-open-dataset colab教程: https://colab.research.google.…

KITTI数据集介绍

目录 1、KITTI数据集概述2、kitti数据采集平台3、Kitti数据集标注格式参考文献: 1、KITTI数据集概述 KITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上最大的自动驾驶场景下的算法评测数据集。该数据集用于评测立体图像(…

KITTI 数据集简介

数据集简介 KITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上自动驾驶场景下常用的数据集之一。KITTI数据集的数据采集平台装配有2个灰度摄像机,2个彩色摄像机,一个Velodyne 64线3D激光雷达,4个光…

KITTI数据集简析

文章目录 KITTI数据集数据集结构数据集内容data_object_calib 样本标定数据data_object_label_2 3D点云标注文件 KITTI数据集 数据集结构 KITTI数据集网盘 提取码:0bjl KITTI ├── devkit_object | ├── cpp | ├── mapping | ├── matlab | └─…

KITTI数据集(概念版)

一、参考资料 KITTI 官网 kitti数据集各个榜单介绍 自动驾驶KITTI数据集详解 KITTI数据集简介与使用 kitti数据集各个榜单介绍 KITTI数据集介绍 KITTI数据集简介(一) — 激光雷达数据 【KITTI】KITTI数据集简介(二) — 标注数据l…

KITTI数据集

KITTI数据集分为2012和2015 KITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集。KITTI包含市区、乡村和高速公路等场景采集的真实图像数据,每张图像中最多达15辆车和30个行…

Vins-fusion gps融合 KITTY数据集测试

下载kitti数据集 下载kitti数据集和真值poses的00.txt以及sequences文件00序列的times.txt,(全网找了好久,最后不得已翻墙从官网down下来的) 代码修改,保存输出数据 先指定输出路径:打开vins-fusion/config/kitti_r…

详解KITTI数据集

详解KITTI数据集 一、KITTI数据集发布方 2011年,Andreas Geiger(KIT)、Philip Lenz(KIT)、Raquel Urtasun(TTIC)三位年轻人发现,阻碍视觉感知系统在自动驾驶领域应用的主要原因之一…

KITTI数据集简介与使用

1.KITTI数据集概述 KITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集。该数据集用于评测立体图像(stereo),光流(optical flow),视觉测距(visual odometry)&…

计算机视觉数据集介绍:KITTI数据集

KITTI数据集简介 KITTI数据集是由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,利用组装的设备齐全的采集车辆对实际交通场景进行数据采集获得的公开数据集。该数据集包含丰富多样的传感器数据(有双目相机、64线激光雷达、GPS/IMU组合导航定位系…