Python连接Oracle,从安装到基本用法

本文将介绍如何使用Python连接Oracle数据库进行数据读取与写入。首先介绍环境的安装,此部分借鉴网友的博客,后一部分介绍连接数据库和读书取数等基本使用语法。

1. 环境安装

借鉴网友阑珊的博客,感谢分享!

https://www.cnblogs.com/lansan0701/p/8039332.html

2. 使用语法

(1) 连接数据库

#加载cx_Oracle模块
import cx_Oracle

#创建连接
conn = cx_Oracle.connect(‘用户名/密码@主机IP地址:端口号/数据库名称‘, encoding=‘utf-8‘)
cursor = conn.cursor()

(2) 查询,读取数据

需求:获取表student中2019年度学生的姓名,年龄,性别,成绩数据。

# 首先写好sql语句,这里需要注意stat_year字段数据库中的类型varchar,在Oracle中查询条件为stat_year = ‘2019‘,但在execute()方法中的sql字符串中不需要加引号
sql = ‘select name,age,gender,grade from student where stat_year = 2019‘

# 利用cousor对象的execute()方法执行sql语句
cursor.execute(sql)

#利用cursor对象的fetchall()方法获取sql的结果返回类型为list,其中每个元素(每条记录)为元组类型
student_informations = cursor.fetchall()

需求:获取符合一定筛选条件的记录数

sql = ‘select count(*) from student where stat_year = 2019‘

# 利用cousor对象的execute()方法执行sql语句
cursor.execute(sql)

#利用cursor对象的fetchall()方法获取sql的结果返回类型为list,其中每个元素(每条记录)为元组类型,获取结果列表中第一个元组的第一个元素(实际上结果列表只有一个元组,元组中只有一个元素)
counts = cursor.fetchall()[0][0]

(3) 将数据批量写入数据库

需求:将若干条记录写入数据库(已创建)中。这里利用cursor.executemany()方法实现

name = [‘A‘,‘B‘,‘C‘]
age = [10,8,9]
gender = [‘m‘,‘f‘,‘m‘]
grade = [80,92,84]
stat_year = [‘2019‘,‘2019‘,‘2019‘] 

# 构造数据列表,每行记录表示为字典
data = []
for i in range(len(name)):
data.append({‘name‘:name[i],‘age‘:age[i],‘gender‘:gender[i],‘stat_year ‘=stat_year [i]})

# 利用executemany()函数将列表中的数据插入到数据库中
cursor.executemany(‘insert into student values(:name ,:age ,:gender ,:grade,:stat_year )‘,data)
db.commit()

(4) 最后,记得关闭数据库连接

cursor.close()
conn.close()

原文地址:https://www.cnblogs.com/Eng1ne-ty/p/11102436.html

时间: 2024-11-05 22:00:36

Python连接Oracle,从安装到基本用法的相关文章

python连接Oracle数据库

# python连接oracle数据 ## 介绍------------------------------ python 连接oracle数据库,可以使用cx_oracle模块 - 使用如下命令安装```python -m pip install cx_oracle --pre``` ## 连接oracle代码-----------------------------```pythonimport cx_oracle # 设置 dsn = cx_oracle.makedsn("192.168.

用python连接oracle(11g)数据库

准备: 1.下载对应版本的oracle-instantclient(我这里是11.2.0.1.0) http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 2.安装 rpm -ivh oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.rpm 3.配置环境变量 export LD_LIBRARY_PATH=/usr/lib/oracl

Python 连接 Oracle数据库

1.环境设置 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [[email protected] ~]# python -V Python 2.6.6 版本:Oracle 12c 2.前提:安装cx_Oracle模块依赖包 由于使用Python连接Oracle,所以需要下载oracle客户端包 官网:http://www.oracle.com/technetwork/topics/linuxx8

python 连接oracle(cx_Oracle模块)

使用python连接oracle数据库:1.安装python3.0:2.安装cx_Oracle模块:3.安装ORACLE_CLIENT :(ORACLE_CLIENT和python位数保持一致:要么都安装32位要么都用64位) 导入连接oracle的模块 import cx_Oracle #获取连接 username=用户名 pass=密码 ipadd=数据库地址 sid=数据库实例 conn=cx_Oracle.connect('username/[email protected]/sid')

windows下python连接oracle数据库

python连接oracle数据库的方法,具体如下 1.首先安装cx_Oracle包2.解压instantclient-basic-windows.x64-11.2.0.4.0.zip到c:\oracle3.拷贝instantclient_11_2下所有.dll文件到c:\python34\Lib\site-packages\下(根据自己的python版本拷贝到相应的site-packages文件夹下) python连接示例代码: # -*- coding: utf-8 -*- import c

python 连接oracle 报错 cx_Oracle.DatabaseErro

1,python 连接oracle的时候报错如下 cx_Oracle.DatabaseError: ORA-24315: 非法的属性类型 ,2,导致这个错误的原因是服务器oracle版本和客户端cx_oracle客户端版本不一致引起的,所以通过下面命令询oracle版本. select * from v$version 3,然后到 http://sourceforge.net/projects/cx-oracle 下载对应的客户端版本即可

Python连接Oracle实例

最近需要用Python连接Oracle操作,之前接触过,没自己手写过,特此记录.数据库是Oracle 11,python版本2.7的. 这个需求是两个库A和B,假设现在需要识别一张表在A库里面有没记录,如果没有,将表名写入一个log,如果有再去B库里查有没有该表,如果没有,表名计入另外一个log文件. 查库的sql语句 select t.* from all_objects t where t.object_name = upper(&table_name); Python连接oracle需要的

python连接oracle配置

环境: 操作系统:win7 64位,CPU是inter的pc机 Oracle服务端:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production Oracle本地客户端:Release 11.2.0.1.0  32bit Production Python版本:python2.7.5 (安装路径:C:\Python27\) cx_Oracle版本:cx_Oracle-5.2.1-11g.win-amd64

Python 连接Oracle数据库

连接:python操作oracle数据库 1. 下载模块 cx_Oracle 2. Windows下用easy_install.exe (Python安装目录下,Script目录中)先安装pip 3. 在下载cx_Oracle模块的目录下,执行pip install  xxx 命令 4. 验证: Python执行 import cx_Oracle