Python链接Oracle,安装、基本用法

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

1. 环境安装sql

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

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

2. 使用语法函数

(1) 链接数据库fetch

#加载cx_Oracle模块
import cx_Oracle

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

(2) 查询,读取数据spa

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

# 首先写好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()

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

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) 将数据批量写入数据库htm

需求:将若干条记录写入数据库(已建立)中。这里利用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()
相关文章
相关标签/搜索