Python之cx_Oracle操作Oracle数据库

http://www.cnblogs.com/ylqmf/archive/2012/04/16/2451841.html

cx_Oracle下载安装

Python模块下载地址:https://pypi.python.org/pypi

Python 连接Oracle 数据库,需要使用cx_Oracle 包,搜索cx_Oracle进入

https://pypi.python.org/pypi?%3Aaction=search&term=cx_Oracle&submit=search下载需要版本即可

Oracle数据库连接与关闭

方法一:用户名,密码和监听 分开写

import cx_Oracle
db = cx_Oracle.connect('admin','123456','127.0.0.1:1521/orcl')
print db.version
db.close()
 方法二:用户名,密码和监听写在一起
import cx_Oracle
db = cx_Oracle.connect('admin/123456@127.0.0.1:1521/orcl')
print db.version
db.close()
方法三:配置监听并连接
import cx_Oracle
tns=cx_Oracle.makedsn('127.0.0.1',1521,'orcl')
db=cx_Oracle.connect('admin','123456',tns)
print tns
print db.version
vs=db.version.split('.')
print vs
if vs[0]=='11':
   print "This is Oracle 11g!"
db.close()
建立cursor 并执行SQL语句
import cx_Oracle
tns=cx_Oracle.makedsn('127.0.0.1',1521,'orcl')
db=cx_Oracle.connect('admin','123456',tns) #创建连接
cr=db.cursor()  #创建cursor
sql='select * from phone'
cr.execute(sql)  #执行sql 语句
print "This is Fetchall!\n"
rs=cr.fetchall()  #一次返回所有结果集
print "print all:(%s)\n " %rs
print "print by row:\n"
for x in rs:
        print x
print "This is Fetone!\n"
cr.execute(sql)
while(1):
        rs=cr.fetchone()  #一次返回一行
        if rs ==None:break
        print rs
使用参数查询
print "select with parameter:\n"
pr={'id':3,'tel':13888888888}
cr.execute('select * from phone where id=:id or phone=:tel',pr)	#这里我们将参数作为一个字典来处理的
rs=cr.fetchall()
print rs
cr.execute('select * from phone where id=:myid or phone=:myphone',myid=2,myphone=13888888888)	#这里我们直接写参数
rs=cr.fetchall()
print rs
cr.close()
db.close()

对数据进行增删改查,创建一张表

#include:select
cr=db.cursor()
cr.execute(sql)
rs=cr.fetchall()
cr.close()
return rs
#include: insert,update,delete
cr=db.cursor()
cr.execute(sql)
cr.close()
db.commit()
#include: create  a table
cr=db.cursor()
cr.execute(sql)
cr.close()










  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值