今天就跟大家聊聊有关在Python中如何使用cx_Oracle来访问Oracle,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

在Python中如果要访问和操作Oracle数据库,可使用cx_Oracle来实现。

准备工作

安装好Python,本例使用Python 2.7版本。

安装本地Oracle客户端,配置数据库连接,本例使用Oracle 11g。

下载和安装cx_Oracle

下载地址:http://sourceforge.net/projects/cx-oracle/

下载时注意Oracle数据库版本及本地Python版本。下载后,直接安装即可。

简单查询操作

importcx_Oracle#创建数据库连接conn=cx_Oracle.connect('dbuser/password@servername/sid')#获取操作游标cursor=conn.cursor()#执行查询SQL,返回值1cursor.execute("""select1fromdual""")#获取返回结果一条记录rs=cursor.fetchone()#执行完成,打印提示信息print'result=%s'%rsresult=1#关闭连接,释放资源cursor.close()conn.close()

执行DDL建表语句

cursor.execute("""createtabletmp_user(idnumber,namevarchar2(20))""")print'completed!'

执行DML插入记录

#插入一条记录cursor.execute("""insertintotmp_uservalues(1,'admin')""")#采用绑定变量方式插入一条记录param={'id':2,'name':'system'}cursor.execute('insertintotmp_uservalues(:id,:name)',param)#一次插入多条数据,参数为字典列表形式param=[{'id':3,'name':'John'},{'id':4,'name':'Mary'},{'id':5,'name':'Steven'}]cursor.executemany('insertintotmp_uservalues(:id,:name)',param)#再一次插入多条数据,参数为元组列表形式param=[]foriinrange(6,8):#[6,7]param.append((i,'user'+str(i)))cursor.executemany('insertintotmp_uservalues(:1,:2)',param)#提交事务conn.commit

查询返回多条记录的情况

cursor.execute("""select*fromtmp_user""")#获取2条记录r2=cursor.fetchmany(2)printr2[0],r2[1]#获取剩余所有记录rn=cursor.fetchall()forrowinrn:printrow#带条件的查询cursor.prepare("""select*fromtmp_userwhereid>=:id""")cursor.execute(None,{'id':7})#None注意大小写forrowincursor:printrow

执行调用存储过程(见下篇)

看完上述内容,你们对在Python中如何使用cx_Oracle来访问Oracle有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。