导入 cx_Oracle 模块

1
import cx_Oracle    # 导入模块

连接数据库

1
2
3
db = cx_Oracle.connect('user', 'password', 'host:port/SID') #建立连接,3个参数分开写
print db.version
#输出 10.2.0.1.0 测试成功

自动提交

1
2
db.autocommit=True #开启自动提交
db.autocommit=False #关闭自动提交

建立 cursor 光标

1
cursor = db.cursor()    #建立一个cursor

执行sql

1
2
3
4
cursor.execute(‘select * from tabs’)    # 执行一条sql
sql = "insert into person(name, age, telephone) values(%s, %s, %s)"
tmp = (('ninini', 89, '888999'), ('koko', 900, '999999'))
conn.executemany(sql, tmp) #执行多条sql

获取执行结果

1
2
3
4
5
6
row=cursor.fetchone() #取一行结果,元组(a,b,c,d)
row=cursor.fetchall() #获取所有结果,列表[(a,b,c,d),(e,f,g,h),...]
for x in row:
    For y in x:
        Print y
print cursor.rowcount() #获取输出记录数量

提交

1
db.commit()

回滚

1
db.rollback()

关闭连接

1
2
cursor.close()
db.close()