如何使用Python连接和操作Oracle数据库?

在Python中,可以使用cx_Oracle模块连接和操作Oracle数据库。以下是Python使用cx_Oracle模块连接和操作Oracle数据库的完整攻略,包括连接Oracle数据库、表、插入数据、查询数据、更新数据、删除数据等操作。

连接Oracle数据库

在Python中,可以使用cx_Oracle模块连接Oracle数据库。以下是连接Oracle数据库的基本语法:

import cx_Oracle

dsn_tns = cx_Oracle.makedsn('localhost', '1521', service_name='ORCLCDB')
conn = cx_Oracle.connect(user='myusername', password='mypassword', dsn=dsn_tns)

在上面的语法中,cx_Oracle.makedsn()方法用于创建DSN,localhost是Oracle服务器的主机名,1521是Oracle服务器的端号,ORCLCDB是要连接的数据库名称,myusername是数据库的用户名,mypassword是连接数据库的密码。

创建表

在Oracle中,可以使用CREATE TABLE语句创建表。以下是创建表的基本语法:

import cx_Oracle

dsn_tns = cx_Oracle.makedsn('localhost', '1521', service_name='ORCLCDB')
conn = cx_Oracle.connect(user='myusername', password='mypassword', dsn=dsn_tns)
cur = conn.cursor()

cur.execute('''CREATE TABLE mytable
               (id NUMBER(10), name VARCHAR2(50), age NUMBER(3))''')

在上面的语法中,cur.execute()方法用于执行SQL语句,mytable是要创建的表名,id``nameage是表的列名。

插入数据

在Oracle中,可以使用INSERT INTO语句插入数据。以下是插入数据的基本语法:

import cx_Oracle

dsn_tns = cx_Oracle.makedsn('localhost', '1521', service_name='ORCLCDB')
conn = cx_Oracle.connect(user='myusername', password='mypassword', dsn=dsn_tns)
cur = conn.cursor()

# 插入一条数据
cur.execute("INSERT INTO mytable (id, name, age) VALUES (:1, :2, :3)", (1, "John", 25))

# 插入多条数据
mylist = [
  (2, "Amy", 20),
  (3, "Hannah", 22),
  (4, "Michael", 30)
]
cur.executemany("INSERT INTO mytable (id, name, age) VALUES (:1, :2, :3)", mylist)

# 提交更改
conn.commit()

在上面的语法中,cur.execute()方法用于插入一条数据,cur.executemany()方法用于插入多条数据,conn.commit()方法用于提交更改。

查询数据

在Oracle中,可以使用SELECT语句查询数据。以下是查询数据的基本语法:

import cx_Oracle

dsn_tns = cx_Oracle.makedsn('localhost', '1521', service_name='ORCLCDB')
conn = cx_Oracle.connect(user='myusername', password='mypassword', dsn=dsn_tns)
cur = conn.cursor()

# 查询所有数据
cur.execute("SELECT * FROM mytable")
rows = cur.fetchall()

# 查询指定条件的数据
cur.execute("SELECT * FROM mytable WHERE age > :1", (25,))
rows = cur.fetchall()

在上面的语法中,cur.execute()方法用于执行查询,cur.fetchall()方法用于获取查询结果。

更新数据

在Oracle中,可以使用UPDATE语句更新数据。以下是更新数据的基本语法:

import cx_Oracle

dsn_tns = cx_Oracle.makedsn('localhost', '1521', service_name='ORCLCDB')
conn = cx_Oracle.connect(user='myusername', password='mypassword', dsn=dsn_tns)
cur = conn.cursor()

# 更新数据
cur.execute("UPDATE mytable SET age = :1 WHERE name = :2", (30, "John"))

# 提交更改
conn.commit()

在上面的语法中,cur.execute()方法用于更新数据,conn.commit()方法用于提交更改。

删除数据

在Oracle中,可以使用DELETE语句删除数据。以下是删除数据的基本语法:

import cx_Oracle

dsn_tns = cx_Oracle.makedsn('localhost', '1521', service_name='ORCLCDB')
conn = cx_Oracle.connect(user='myusername', password='mypassword', dsn=dsn_tns)
cur = conn.cursor()

# 删除数据
cur.execute("DELETE FROM mytable WHERE name = :1", ("John",))

# 提交更改
conn.commit()

在上面的语法中,cur.execute()方法用于删除数据,conn.commit()方法用于提交更改。

示例1

在这个示例中,我们将使用Python连接到Oracle数据库,并创建一个表,然后插入一些数据,查询所有数据并打印结果。

以下是Python代码:

import cx_Oracle

dsn_tns = cx_Oracle.makedsn('localhost', '1521', service_name='ORCLCDB')
conn = cx_Oracle.connect(user='myusername', password='mypassword', dsn=dsn_tns)
cur = conn.cursor()

# 创建表
cur.execute('''CREATE TABLE mytable
               (id NUMBER(10), name VARCHAR2(50), age NUMBER(3))''')

# 插入数据
cur.execute("INSERT INTO mytable (id, name, age) VALUES (:1, :2, :3)", (1, "John", 25))

# 查询所有数据
cur.execute("SELECT * FROM mytable")
rows = cur.fetchall()

# 打印查询结果
for row in rows:
    print(row)

在上面的代码中,我们使用cx_Oracle模块连接到Oracle数据库。然后,我们使用cur.execute()方法创建一个表,使用cur.execute()方法插入一条数据。最后,我们使用cur.fetchall()方法获取查询结果,使用for循环遍历每一行,并使用print()函数打印每一行。

示例2

在这个示例中,我们将使用Python连接到Oracle数据库,并更新一些数据,然后查询指定条件的数据并打印结果。

以下是Python代码:

import cx_Oracle

dsn_tns = cx_Oracle.makedsn('localhost', '1521', service_name='ORCLCDB')
conn = cx_Oracle.connect(user='myusername', password='mypassword', dsn=dsn_tns)
cur = conn.cursor()

# 更新数据
cur.execute("UPDATE mytable SET age = :1 WHERE name = :2", (30, "John"))

# 查询指定条件的数据
cur.execute("SELECT * FROM mytable WHERE age > :1", (25,))
rows = cur.fetchall()

# 打印查询结果
for row in rows:
    print(row)

在上面的代码中,我们使用cx_Oracle模块连接到Oracle数据库。然后,我们使用cur.execute()方法更新一条数据。最后,我们使用cur.fetchall()方法获取查询结果,使用for循环遍历每一行,并使用print()函数打印每一行。

以上是使用Python连接和操作Oracle数据库的完整攻略,包括连接Oracle数据库、创建表、插入数据查询数据、更新数据和删除数据等操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何使用Python连接和操作Oracle数据库? - Python技术站

(0)
上一篇 2023年5月12日
下一篇 2023年5月12日

相关文章

  • 自动在Windows中运行Python脚本并定时触发功能实现

    为了在Windows中自动运行Python脚本并定时触发功能,有以下几个步骤: 1. 安装Python环境 首先需要在Windows操作系统上安装Python环境,可以从官方网站https://www.python.org/downloads/下载并安装。安装过程中需要注意添加Python环境变量。 2. 编写Python脚本 编写需要自动运行的Python…

    python 2023年5月19日
    00
  • python实现简单图片物体标注工具

    我们来详细讲解一下“Python实现简单图片物体标注工具”的完整攻略。 1. 确定需求 在开始开发之前,我们首先需要明确自己的需求,也就是要实现一个什么样的图片物体标注工具。我们需要考虑一下以下问题: 我们需要标注什么样的物体? 标注的信息是否需要保存到文件中? 是否需要对标注后的图片进行展示? 2. 准备工作 在开始编写代码之前,我们需要先准备一些需要用到…

    python 2023年5月18日
    00
  • Python try except finally资源回收的实现

    Pyhon 中的 try-except-finally 代码块是一种异常处理机制。当代码中出现异常时,try 代码块中的代码会停止执行,执行流程会跳到 except 代码块中,尝试捕获异常并进行相应的处理。finally 代码块中的代码不管是否出现异常,都会被执行,可以用来进行资源回收等操作。 在 Python 中使用 try-except-finally …

    python 2023年5月13日
    00
  • MySQL使用ReplicationConnection导致连接失效解决

    MySQL使用ReplicationConnection导致连接失效是一个经典的问题,此处给出解决方案的完整攻略。 问题现象 当使用ReplicationConnection连接MySQL时,可能会出现连接失效的问题,此时程序无法正常读取数据库信息。 问题原因 ReplicationConnection是基于MySQL的复制架构实现的,而复制架构存在从库和主…

    database 2023年5月22日
    00
  • django2.2版本连接mysql数据库的方法

    下面是关于如何使用Django 2.2连接MySQL数据库的方法的详细攻略: 安装MySQL驱动程序 连接MySQL数据库需要使用MySQL驱动程序。可以使用PyMySQL或者MySQL-connector-python等常用的MySQL驱动。 可以通过以下命令来使用PyMySQL安装MySQL驱动: pip install pymysql 安装成功后,在D…

    python 2023年5月13日
    00
  • Python利用百度地图获取两地距离(附demo)

    下面我将详细讲解“Python利用百度地图获取两地距离(附demo)”的完整实例教程。 简介 本文主要介绍如何使用Python代码实现利用百度地图API获取两地距离的方法。百度地图API提供了计算两点间经纬度距离的服务,而Python则可以通过调用相应的API接口实现对距离的获取。 我们将分以下五个步骤来讲解实现过程: 准备工作 百度地图API开发者密钥申请…

    python 2023年5月13日
    00
  • numpy.random.seed()的使用实例解析

    numpy.random.seed()的使用实例解析 numpy.random.seed()的作用 numpy.random.seed() 用于指定随机数生成器的种子,以确保在生成随机序列时得到可重复的结果。 语法格式 numpy.random.seed(seed=None) 其中,参数 seed 表示要设置的随机种子值,默认值为 None。 示例一 下面是…

    python 2023年6月3日
    00
  • Python 实现大整数乘法算法的示例代码

    下面是详细讲解“Python实现大整数乘法算法的示例代码”的完整攻略,包括算法原理、Python实现和两个示例说明。 算法原理 大数乘法算法是指对于两大整数,采用分治法的思想,将其分别拆分成高位和低位两部分,然后递归地计算出们的乘积,最后将结果合并得到最终的乘积。具体步骤如下: 将两个大整数分别拆成高位和低位两部分; 递归地计算出高位和低位的乘积; 将高位和…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部