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

这篇具有很好参考价值的文章主要介绍了Python从Oracle数据库中获取数据——fetchall(),fetchone(),fetchmany()函数功能分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

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

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

下图是我这次学习使用的数据截图:
fetchall,Python,数据库,oracle,python然后我使用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)

执行结果如下:
fetchall,Python,数据库,oracle,python
看到执行结果如我们预想的一样,按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,Python,数据库,oracle,python我们看到因为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)

执行结果如下所示:
fetchall,Python,数据库,oracle,python
我们看到这次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)

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

以上是我的学习分享,有不对的地方敬请读者指正。文章来源地址https://www.toymoban.com/news/detail-612929.html

到了这里,关于Python从Oracle数据库中获取数据——fetchall(),fetchone(),fetchmany()函数功能分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库

    🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~ 🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长! 没有找到合适的参考链接,在gpt的协作下一步完成了这份指南。欢迎交流 ~ 在Python项目中,如果你的目标是通过JDBC连接到位于Linux远程服务器上

    2024年04月28日
    浏览(62)
  • 使用 Python 获取 Redis 数据库中的所有键

    如果你了解 JSON,就会熟悉 Redis 设计系统。 它使用键值结构和分布式内存方法来实现弹性数据库。 哈希、列表、集合、排序集合、字符串、JSON 和流是 Redis 支持的众多数据结构之一。 这个开源数据库支持不同的语言,包括 Python,如果您正在使用它开发后端系统,一些模块和

    2024年02月12日
    浏览(29)
  • MySQL 数据库表格创建、数据插入及获取插入的 ID:Python 教程

    要在MySQL中创建表格,请使用\\\"CREATE TABLE\\\"语句。 确保在创建连接时定义了数据库的名称。 示例创建一个名为 \\\"customers\\\" 的表格: 如果上述代码没有出现错误,那么您已成功创建了一个表格。 您可以通过使用\\\"SHOW TABLES\\\"语句列出数据库中的所有表格来检查表格是否存在: 示例返

    2024年02月05日
    浏览(50)
  • 数据爆炸,Python一键获取阿里法拍的爆款商品数据,并保存到数据库!

    阿里法拍是中国大陆一个知名的在线拍卖网站,它提供了各种商品和服务的拍卖、固定价交易和一口价销售。如果您想要从阿里法拍网站中获取商品的信息,比如商品名称、价格、图片等信息,则可以使用Python编写一个代码获取这些数据。 在实现前,请确保您已经安装以下

    2024年02月09日
    浏览(46)
  • 基于Python的海量豆瓣电影、数据获取、数据预处理、数据分析、可视化、大屏设计项目(含数据库)

    项目介绍 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主!!!!!!!!!! 本文基于Python的网络爬虫手段对豆瓣电影网站进行数据的抓取,通过合理的分析豆瓣网站的网页结构,并设计出规则来获取电影数据的JSON数据包,采用正态分布的延时措施

    2024年02月12日
    浏览(59)
  • 数据库数据恢复-Oracle数据库数据恢复案例

    数据库数据恢复环境: Oracle数据库ASM磁盘组有4块成员盘。 数据库故障分析: Oracle数据库ASM磁盘组掉线 ,ASM实例无法挂载,用户联系我们要求恢复oracle数据库。 数据库数据恢复工程师拿到磁盘后,先将所有磁盘以只读方式进行扇区级别的镜像备份,后续的数据分析和数据恢

    2024年02月13日
    浏览(64)
  • Oracle数据库

    ①层次型数据库 ②网状型数据库 ③关系型数据库(主要介绍) E-R图:属性(椭圆形),实体(矩形),联系(菱形-一对一、一对多、多对多) 注:有的联系也有属性 关系型数据库的设计范式: 第一范式(1NF):属性不可再分,字段保证原子性 第二范式(2NF):在满足1

    2024年02月08日
    浏览(57)
  • Oracle 数据库恢复删除的数据

    需求描述: 同事让删除脏数据,结果删错了,需要恢复数据 思路: 利用闪回恢复数据只能恢复15分钟之内的,后面undo空间会被重写,就恢复不了,所以删除数据后,要谨慎再三确认,若发现不对,则利用闪回恢复 先查询删除时的时间节点的快照 查到时间戳之后 闪回恢复数

    2024年01月24日
    浏览(68)
  • 【数据库】日常使用PL/SQL 登录ORACLE 数据库查询数据

    一、PL/SQL 登录方式 username: ##访问数据库的账号 password: ##访问数据库的密码 Databse: ##数据库IP地址/实例名 数据库集群心跳地址/实例名 Connect as : ##Normal,如果使用sysdba账户登录选择SYSDBA 二、PL/SQL使用SQL语句查询 点击上方导航栏,New,选择SQL Window,即可再次输入要查询的

    2024年02月19日
    浏览(68)
  • Oracle数据库面试题 精选 Oracle 面试题

    1.解释冷备份和热备份的不同点以及各自的优点 冷备份 发生在数据库已经正常关闭的情况下,将关键性文件拷贝到另外位置的一种说法。适用于所有模式的数据库。 优点 1. 是非常快速的备份方法(只需拷贝文件) 2. 容易归档(简单拷贝即可) 3. 容易恢复到某个时间点上(只

    2024年02月05日
    浏览(99)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包