专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

Python操作数据库(Oracle) python操作数据库的步骤

ins518 2024-10-14 12:52:09 技术文章 14 ℃ 0 评论
  1. 安装cx_Oracle
  2. Python 连接oracle不仅需要安装cx_Oracle模块,还需要Oracle Client;在oracle官网上下载instantclient-basic,注意对应版本号,然后解压文件,把其中的oci.dll,oraocci12.dll,oraociei12.dll,oraons.dll(12是我下载的版本号)文件复制到Python安装目录\lib\site-packages下,然后再下载安装cx_Oracle模块



2.连接数据库

连接数据库有三种方式:

(1)用户名、密码和监听写在一起(user/passwd@host/orcl)

import cx_Oracle as db
conn = db.connect('user/passwd@host/orcl')

(2)用户名、密码和监听分开(‘user’,‘passwd’,'host/orcl')

import cx_Oracle as db
conn = db.connect('user','passwd','host/orcl')

(3)配置监听并连接(makedsn('host',1521,'orcl')

import cx_Oracle as db
tns = db.makedsn('host','1521','orcl')
conn = db.connect('user','passwd',tns)

3.创建cursor,执行sql语句

cur = conn.cursor()
cur.execute('select * from table')
result = cur.fetchall() #获取全部查询结果
re1 = cur.fetchone() #获取第一行查询结果,没执行一次,游标就从表中第一条数据移动到下一条,即再执行的时候就得到第二条数据,第三次执行的时候就得到第三条数据;

4.关闭游标,关闭连接

cur.close()
conn.close()

操作整体流程是:

import cx_Oracle # 导入库
conn = cx_Oracle.connect('user','passwd','host/orcl') #连接数据库
cur = conn.cursor() #创建游标
sql = 'select /insert/delete .......' #sql语句
cur.execute(sql) #执行sql语句
result = cur.fetchall()/fetchone() #获取数据
cur.close() #关闭游标
conn.close() #关闭数据库

如果查询出来的结果有乱码问题,python源文件的字符集密码和oracle不一致,可以在建立连接前添加:

os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.AL32UTF8'
或者os.environ['NLS_LANG'] = 'AMERICAN_AMERICA.AL32UTF8'


该图为oracle的字符编码

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表