Python中的Oracle数据库连接2025年4月11日 | 阅读 8 分钟 在大多数情况下,处理许多与编程相关的任务,特别是处理大量数据集时,都需要在数据库上进行工作,这些数据库可以高效地存储、管理和检索大量数据。这类任务解决的一个例子通常涉及 Oracle 或 MySQL 数据库。利用 Python 的易用性,程序员可以在 cx_oracle 的帮助下执行多项操作,例如查询数据、更新记录以及处理数据库内的复杂功能。在接下来的章节中,我们将了解如何设置和使用 cx_oracle 来建立与 Oracle 数据库的连接并执行基本数据库操作。阅读本文档,您将清楚地了解如何在 Python 项目中连接 Oracle 数据库,使用 cx_Oracle,从而使应用程序更强大、更具可扩展性。 要使用 cx_Oracle 模块将 Oracle 数据库与 Python 连接,您需要使用 pip 命令安装该模块,打开命令提示符并键入以下命令 使用此命令,可以在 Python 中安装 cx-Oracle 模块,但必须先在 PC 上安装 Oracle 数据库。 Python 连接 Oracle 数据库的步骤第 1 步:导入模块:安装 cx_oracle 后,在 Python 中导入 cx_oracle 以便使用 cx_oracle。此模块有助于将 Python 连接到 Oracle 数据库。 代码 第 2 步:建立连接:connect() 函数用于将 Oracle 数据库链接到 Python。此函数接受用户名、密码和数据库名称以及数据库主机和服务名称等输入。下面是一个使用 Python 连接 Oracle 数据库的示例。 代码 上面的代码创建了一个连接对象 con,该对象将 Python 程序与 Oracle 数据库连接起来。 第 3 步:创建游标:执行 SQL 查询和检索数据需要游标。要创建游标,请在连接对象上使用 cursor() 方法。 代码 第 4 步:执行 SQL 查询:execute() 和 executemany() 方法用于在 Python 中执行 SQL 查询。 a. 单次执行 代码 b. 使用绑定变量执行多个查询:executemany() 方法允许我们使用不同的 变量多次执行相同的查询。 代码 第 5 步:提交事务:对于数据操作查询(如 Insert、Update 和 Delete),除非提交事务,否则更改不会应用到数据库。使用 commit() 方法,检查更改是否已保存。 代码 第 6 步:获取结果:查询完成后,可以使用以下三种方法之一检索这些结果 a. fetchone():获取一行。 代码 b. fetchmany(int):此方法根据传递给函数的参数获取指定数量的行。 代码 c. fetchall():获取结果集中的所有行。 代码 第 7 步:关闭连接:在数据库上的所有操作完成后,最好关闭连接和游标,以便释放所有资源。 a. 关闭游标 代码 b. 关闭连接 代码 创建表代码 输出 Table "employee" created successfully 说明 上面的 Python 代码使用 cx_Oracle 库将 Oracle 数据库与 Python 连接。创建了一个名为 employee 的表。create_employee_table() 函数用于封装所有代码。在函数内部,使用上下文管理器创建数据库连接,这可以确保在创建表后自动建立连接。如果在处理过程中引发任何数据库错误,将打印错误消息。最后,调用该函数来执行表的创建。 数据定义语言 (DDL) 语句,如 CREATE、ALTER 和 DROP,不需要为 Oracle 数据库显式提交;它们在执行时会自动提交。通过调用带有游标对象的此方法,将特定的 DDL 命令传递给 Oracle 数据库。 使用 execute() 方法向表中插入记录代码 输出 Record inserted Successfully 说明 在上面的 Python 代码中,insert_department_record() 函数用于在数据库的 department 表中插入一条记录。这是通过使用 cx_Oracle 库将 Oracle 数据库与 Python 连接来实现的。该库通过提供连接字符串中的必需值来建立与数据库的连接。之后,创建并执行一个游标来运行 SQL 命令。INSERT INTO SQL 命令用于将 ID 为 10、名称为 Human Resources、位置为 New York 的新记录插入到 department 表中。运行命令后,它会提交事务以确认 department 记录已保存到数据库中。在执行期间引发的任何错误都将在 except 块中使用,其中会引发错误消息。最后,在 final 块中处理其余任务,例如关闭游标和终止连接。 使用 executemany() 方法向表中插入多条记录代码 输出 Multiple records are inserted successfully 说明 上面的 Python 代码使用 cx_Oracle 库将 Oracle 数据库与 Python 连接,并将多条记录插入名为 products 的数据库表中。首先尝试使用提供的凭据打开连接。如果失败,将显示错误以及一些适当的错误消息。数据库通过 Python 连接到系统,Python 创建一个实际运行 SQL 命令的游标。定义了一个包含产品信息(ID、名称和价格)的示例数据集。executemany 函数使用占位符执行,以将多条记录添加到 products 表中。如果引发任何错误,将创建适当的错误消息并打印到控制台。成功插入记录后,事务提交以保存更改;然后显示成功。最后,检查游标和数据库连接是否已正确关闭以释放资源。 您还可以提供字典列表作为输入。在上面的代码中,您可以直接提供占位符值,也可以使用绑定变量。绑定变量是命名值,便于在传递给 SQL 命令时管理数据。它们通过提供一种高效处理输入值的方法来提高代码的可读性和可维护性。当使用绑定变量时,字典的每个键都对应数据库中的一个列,关联的值表示要添加的数据。此方法可以简化准备要插入数据库操作中的数据过程,尤其是在处理复杂数据时。 字典列表允许更动态、更灵活的数据处理,尤其是在数据结构可能发生变化或查询以编程方式构建时。 使用 Select 查询和 fetchall()、fetchmany(int)、fetchone() 方法查看记录代码 输出 All Products: (1, 'Laptop', 1200.99) (2, 'Smartphone', 699.50) (3, 'Tablet', 300.75) (4, 'Monitor', 150.00) (5, 'Keyboard', 45.99) (6, 'Mouse', 25.00) (7, 'Printer', 120.00) Three Products: (1, 'Laptop', 1200.99) (2, 'Smartphone', 699.50) (3, 'Tablet', 300.75) One Product: (1, 'Laptop', 1200.99) 说明 上面的 Python 代码使用 cx_Oracle 库将 Oracle 数据库与 Python 连接,以检索数据并对 products 表执行操作。最初,代码尝试使用提供的凭据(用户名和密码)建立连接,如果连接失败,则会引发错误并打印该错误。成功连接到数据库后,代码会生成一个游标对象来执行 SQL 命令。它首先运行一个查询以从 products 表中获取所有记录,并打印每个产品的详细信息。此外,它使用 many (3) 方法获取前三条记录并显示结果。最后,代码使用 fetchone() 方法提取一条记录并打印该记录。为了提高代码的可读性,还添加了额外的错误处理来处理在获取数据时可能出现的潜在问题。代码还通过在代码末尾关闭游标和连接来确保正确释放资源,从而有效防止任何资源泄漏。 |
简介 一种流行的数据交换格式是 JSON(JavaScript 对象表示法)。它对人类来说易于读写,对机器来说也易于解析和生成。在 Python 中处理 JSON 数据是一项常见的任务,其中一种情况是更改 Python...
阅读 3 分钟
随着当前技术进步导致数据的大规模生产,可靠的预测变得越来越必要。因此,基于诸如时间序列预测之类的分析来确定预测值,这些预测处理基于历史记录的未来值预测,这一点很重要……
阅读 19 分钟
计算机视觉标注工具 (CVAT) 是一个开源工具,用于在计算机视觉应用中标注图像和视频数据。它支持多种标注任务,包括对象检测、分割和跟踪。CVAT 的 Python SDK 允许用户以编程方式与 CVAT 进行交互...
阅读 4 分钟
响应式编程范式解决了更改的传播和异步数据流。当需要有效管理大量事件或异步过程时,它特别有用,因为它提供了一种声明式方法来处理事件和异步数据……
阅读 4 分钟
什么是深度学习?深度学习是人工智能(AI)的一个分支,用于基于人脑的教学和处理数据。深度学习模型识别图片、文本、声音和其他数据格式中的复杂模式,以提供高效的结果和准确性。深度学习...
阅读 10 分钟
拉格朗日插值简介 为了得到一个通过特定点集的插值多项式,可以使用一种称为拉格朗日插值的数值技术。该多项式称为拉格朗日多项式,旨在确保每个点都能在插值中发挥独特作用,其表达式为...
阅读 4 分钟
简介:单变量线性回归是统计学和机器学习中的一个关键概念。它作为更复杂的回归和预测建模策略的基础。本文将探讨单变量线性回归的世界,强调其基本思想、Python 实现和现实世界...
阅读 3 分钟
Python 是一种灵活且强大的编程语言,以其丰富的标准库而闻名。在其众多模块中,os.path 模块是处理文件路径和目录的平台无关工具。在 os.path 模块中,有一个子模块...
阅读 8 分钟
简介:在本教程中,我们将学习 Python 中的 MD5 哈希。加密哈希在日常生活中使用,例如数字签名、数学证明、控制代码、指纹、校验和(完整性检查)、消息哈希、存储密码等。它也用于通过互联网发送消息...
阅读 3 分钟
引言 通过将面向对象编程的概念应用于在不兼容的系统之间转换数据,Python 中的对象关系映射 (ORM) 工具可以简化数据库交互。为了定义和操作数据库表,开发人员使用 Python 类而不是编写原始 SQL 查询。这些类操作被翻译成...
阅读 6 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India