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

yizhihongxing

在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日

相关文章

  • MySQL与Oracle SQL语言差异比较一览

    MySQL与Oracle SQL语言差异比较一览 在MySQL和Oracle两种常见的关系型数据库管理系统中,SQL语言的语法和特性存在一些差异。本文将就以下几个方面进行比较,并举例讲解: 数据类型 数据库对象名称大小写 分页查询 自增列的实现方法 字符串拼接 数据类型 MySQL和Oracle支持的数据类型有所不同。MySQL支持的数据类型包括:整数类型、…

    database 2023年5月18日
    00
  • MySQL表锁、行锁和页锁

    MySQL中的锁机制可以分为两种类型:表锁和行锁。表锁是在一整个MySQL表上进行加锁,而行锁是在表的某一行数据上进行加锁。此外,MySQL还提供一种称为页锁的锁机制,它是在表的某一页上进行加锁。 表锁 表锁是对整个MySQL表进行锁定。当对一个表进行读或写操作时,如果该表已被其他进程加锁,则会等待解锁后再执行操作。 表锁具有以下优点: 简单:表锁简单易用,…

    MySQL 2023年3月10日
    00
  • Python配置mysql的教程(推荐)

    下面我将为你详细讲解“Python配置MySQL的教程(推荐)”的完整攻略。具体过程如下: 第一步:安装MySQL及其驱动 在Python中连接MySQL需要使用Python的MySQL驱动程序,官方推荐的驱动程序为mysql-connector-python。因此在配置MySQL之前,需要执行以下命令进行安装: pip install mysql-conn…

    python 2023年5月13日
    00
  • MySQL的DATE_FORMAT函数的使用

    MySQL的DATE_FORMAT函数是用于将日期转换为指定格式字符串的函数,它的语法如下: DATE_FORMAT(date,format) 其中,date表示要格式化的日期,format表示要格式化的格式,返回一个字符串类型值。 下面是几个常用的format格式: %Y: 表示年份,例如: 2021 %m: 表示月份,例如:01、02、03等 %d: 表…

    database 2023年5月22日
    00
  • 一文带你解决Python中的所有报错

    一文带你解决Python中的所有报错 Python是一种广泛使用的编程语言,但在编写Python代码时,我们经常会遇到各种异常报错。这些报错可能是由于代码中的语法错误、数据类型错误、变量或函数未定义、索引超出范围等原因引起的。本文将为您提供一份完整攻略,帮助您解决Python中的所有报错。 1. SyntaxError SyntaxError通常是由于代码中…

    python 2023年5月13日
    00
  • 如何在Python中从对数正态分布中生成随机数

    在Python中从对数正态分布中生成随机数的步骤如下: 步骤一:导入所需的库 使用Python生成从对数正态分布中随机数需要使用到numpy和scipy库,因此需要先导入这两个库。 import numpy as np from scipy.stats import lognorm 步骤二:设定分布的参数 对数正态分布是由三个参数确定的,即均值 $\mu$、…

    python-answer 2023年3月25日
    00
  • python中常用的九种预处理方法分享

    Python中常用的九种预处理方法分享 介绍 在数据分析和机器学习的过程中,预处理数据是非常重要的一步。这个过程包括了数据清洗,数据转换,特征提取和特征选择等等。本文将介绍Python中常用的九种预处理方法,以帮助读者更好的处理数据。 九种预处理方法 以下是Python中常用的九种预处理方法: 数据清洗 数据清洗包括了数据缺失值的处理、异常值的处理、重复值的…

    python 2023年5月13日
    00
  • mySql关于统计数量的SQL查询操作

    MySQL是一种常用的关系型数据库管理系统,提供了丰富的SQL查询操作来满足各种数据统计需求。本文将针对MySQL中统计数量的查询操作进行详细讲解,包括普通的COUNT函数查询、带有GROUP BY的统计查询以及多表关联查询中的数量统计。 一、普通的COUNT函数查询 COUNT函数是MySQL中常用的统计函数之一,用于统计表中满足给定条件的记录数量。其基本…

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