Python操作Oracle

# -*- coding:utf-8 -*- 
#需要安装oracle客户端,下载地址http://download.csdn.net/detail/liumengcheng/5668389
#python2.6,
#cx_Oracle,下载地址http://cx-oracle.sourceforge.net/
#在C、Java等语言的语法中规定,必须以分号作为语句结束的标识。
#Python也支持分号,同样用于一条语句的结束标识。但在Python中分号的作用已经不像C、Java中那么重要了,
#Python中的分号可以省略,主要通过换行来识别语句的结束。

import cx_Oracle  
  
#建立和数据库系统的连接  
conn = cx_Oracle.connect("hr/hr@192.168.56.23:1521/xe")  
#获取操作游标  
cursor = conn.cursor()  
#执行SQL,创建一个表  
cursor.execute("create table t2(id int, name varchar2(50),password varchar2(50))")  
#插入一条记录  
  
cursor.execute("insert into t2 values(1,'admin','password')");  
  
#再插入一条数据  
  
param={'id':2,'n':'admin','p':'password'}  
  
cursor.execute('insert into t2 values(:id,:n,:p)',param);  
  
#一次插入多条数据,参数为字典列表形式  
  
param=[{'id':3,'n':'admin','p':'password'},{'id':4,'n':'admin','p':'password'},{'id':5,'n':'admin','p':'password'}];  
  
cursor.executemany('insert into t2 values(:id,:n,:p)',param);  
  
   
  
#再一次插入多条数据  
  
param=[];  
  
#生成5条插入数据,参数为元组列表形式  
  
for i in range(6,11): # [6,7,8,9,10]  
    param.append((i,'user'+str(i),'password'+str(i)))  
  
#插入数据  
cursor.executemany('insert into t2 values(:1,:2,:3)',param)
#提交更改  
conn.commit()


#执行查询 语句    
cursor.execute("select * from t2")  
#获取一条记录  
one = cursor.fetchone()  
print("1: id:%s,name:%s,password:%s"%one)  
  
#获取两条记录!!!注意游标已经到了第二条  
two = cursor.fetchmany(2)   
print '2 and 3:',two[0],two[1]  
  
#获取其余记录!!!注意游标已经到了第四条  
three = cursor.fetchall();   
  
for row in three:  
    print row   #打印所有结果  
#  
  
cursor.prepare("select * from t2 where id <= :id")  
cursor.execute(None,{'id':5})  
  
for row in cursor:  #相当于fetchall()  

    print row  


#这是第二种绑定变量,推荐用这种    ,注意这里的(3,)是对的,还有一种就是cursor.execute("select * from t2 where id<=:1",[3])

cursor.execute("select * from t2 where id <=:1",(3,))
for row in cursor:  #相当于fetchall()  
    print row  
  

#关闭连接,释放资源  
cursor.close()  
conn.close()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值