1.安装Python,我使用的是:python-2.7.5.msi
2.要想使Python可以操作Oracle数据库,首先需要安装cx_Oracle包,可以通过下面的地址来获取安装包:http://cx-oracle.sourceforge.net/ 。这里有32位和64位的区别,我本机的是oracle 11g客户端是32位的,所以使用的包是cx_Oracle-5.1.3-11g.win32-py2.7.exe
3.创建一个简单的python文件,测试安装是否成功
import cx_Oracle
conn = cx_Oracle.connect('sysgdqxsh/sysgdqxsh@localhost/orcl')
cursor = conn.cursor ()
cursor.execute ("select * from dual")
row = cursor.fetchone ()
print row[0]
cursor.close ()
conn.close ()
4.下面是插入操作
import cx_Oracle
conn = cx_Oracle.connect('sysgdqxsh/sysgdqxsh@localhost/orcl')
cursor = conn.cursor ()
cursor.execute("insert into tb_test(CID,Uname) values (1,'aa')")
conn.commit()
cursor.close ()
conn.close ()
5.查询通常有两种方式:一种是使用cursor.fetchall()获取所有查询结果,然后再一行一行的迭代;另一种每次通过cursor.fetchone()获取一条记录,直到获取的结果为空为止
import cx_Oracle
cursor = conn.cursor ()
cursor.execute("select * from tb_test")
rows = cursor.fetchall()
for row in rows:
print "%s, %s" % (row[0], row[1])
print "Number of rows returned: %d" % cursor.rowcount
cursor.execute ("SELECT * FROM tb_test")
while (1):
row = cursor.fetchone()
if row == None:
break
print "%s, %s" % (row[0], row[1])
print "Number of rows returned: %d" % cursor.rowcount
cursor.close ()
conn.close ()