在Python中使用cx_Oracle来访问Oracle
来源:互联网 发布:公交导航软件 编辑:程序博客网 时间:2024/04/28 02:59
在Python中如果要访问和操作Oracle数据库,可使用cx_Oracle来实现。本文主要对cx_Oracle基本功能进行测试。
准备工作
安装好Python,本例使用Python 2.7版本。
安装本地Oracle客户端,配置数据库连接,本例使用Oracle 11g。
下载和安装cx_Oracle
下载地址:http://sourceforge.net/projects/cx-oracle/
下载时注意Oracle数据库版本及本地Python版本。下载后,直接安装即可。
简单查询操作
import cx_Oracle#创建数据库连接conn = cx_Oracle.connect('dbuser/password@servername/sid')#获取操作游标cursor = conn.cursor()#执行查询SQL,返回值1cursor.execute("""select 1 from dual""")#获取返回结果一条记录rs = cursor.fetchone()#执行完成,打印提示信息print 'result = %s'%rsresult = 1#关闭连接,释放资源cursor.close()conn.close()
执行DDL建表语句
cursor.execute("""create table tmp_user(id number, name varchar2(20))""")print 'completed!'
执行DML插入记录
#插入一条记录cursor.execute("""insert into tmp_user values(1,'admin')""")#采用绑定变量方式插入一条记录param = {'id':2, 'name':'system'}cursor.execute('insert into tmp_user values(:id, :name)',param)#一次插入多条数据,参数为字典列表形式param=[{'id':3,'name':'John'},{'id':4,'name':'Mary'},{'id':5,'name':'Steven'}]cursor.executemany('insert into tmp_user values(:id,:name)',param)#再一次插入多条数据,参数为元组列表形式param=[]for i in range(6,8): #[6,7] param.append((i,'user'+str(i)))cursor.executemany('insert into tmp_user values(:1,:2)',param)#提交事务conn.commit
查询返回多条记录的情况
cursor.execute("""select * from tmp_user""")#获取2条记录r2 = cursor.fetchmany(2)print r2[0], r2[1]#获取剩余所有记录rn = cursor.fetchall()for row in rn: print row#带条件的查询cursor.prepare("""select * from tmp_user where id>=:id""")cursor.execute(None,{'id':7}) #None注意大小写for row in cursor: print row
执行调用存储过程(见下篇)
0 0
- 在Python中使用cx_Oracle来访问Oracle
- 在Python中分别通过pypyodbc和cx_Oracle来访问数据库
- 在Python中使用cx_Oracle调用Oracle存储过程
- Python(Pycharm)连接Oracle数据库之cx_Oracle的使用(cx_Oracle在pyCharm中报错)
- 在C#中使用ADO.Net部件来访问Access数据库
- 在C#中使用ADO.Net部件来访问Access数据库
- 在C#中使用ADO.Net部件来访问Access数据库
- 在Node.js环境中使用OSS Javascript SDK来访问OSS服务
- 在jQuery中动态创建id,如何使用该Id来访问这个元素
- python使用cx_oracle连接oracle数据库
- python使用cx_Oracle操作oracle示例
- 在Python中访问成员变量为什么要尽量避免通过get或set函数来访问
- 在cx_oracle中使用nextval, currval,sysdate
- C++中使用引用来访问new出来的内存
- 使用OTL来访问数据库
- 使用TortoiseGit来访问GitHub
- 使用SwitchySharp来访问google
- 使用Hive来访问HBase
- Android传感器应用之:摇一摇小例子
- centos 中文乱码解决办法
- Debug方式启动Tomcat
- 第二节 常用组件 之 Filter 过滤条件
- 单例模式(5)- Java单例对象同步问题深入探讨
- 在Python中使用cx_Oracle来访问Oracle
- 润乾集算报表用脚本实现动态SQL传递
- Linux常见命令之crontab
- HDU 1513 Palindrome DP
- 【行业参考】大数据背景下的淘宝核心数据库建设与OceanBase技术探讨
- 配置Apache实现url转发
- 应用Python解决报表日常对数问题
- Oracle Java Stored Procedure + 包调用
- python+Eclipse+pydev环境搭建