python连接oracle十分简便,需要用到cx_Oracle模块。并且用完之后在网上找了一些python连接其他数据库的例子,发现除了用的模块不一样以外,其他操作基本上都是一致的。这种一致带来的好处是不言而喻的,这不禁又让我想起了令人无语的MFC。
步骤总结一下大概是这样:
1.import cx_Oracle(当然了要先安装cx_Oracle模块..)
2.建立连接:conn = cx_Oracle.conn(''system/geuiiruo@ayck'). 其中system是用户名,geuiiruo是密码,ayck是dsn
3.建立游标:cu = conn.cursor(). python通过cursor来进行数据库操作。这个和pro *c 不太一样。pro *c 只有在查询多条记录的时候才会用到cursor。
4.用cursor进行数据库操作。cu.execute('select * from book')
5.得到查询结果。当然,如果不是查询操作的话第五步就不需要了:
for sname, ssex, sphone, sage in cu.fetchall():
print sname, ssex, sphone, sage
6.提交数据: conn.commit()
7.关闭cursor和连接: cu.close()
conn.close()
代码如下:
如果sql语句中带有参数,一般有以下两种方法:
1.按位置传递
cu.execute("insert into book values(:1, :2, :3, :4)", /
('王博士', '男', '110', 45))
这种方式看上去比较简单,但是容易造成查询混乱,而且如果需要修改会比较麻烦。所以推荐使用下面的方式
2.按名称传递
cu.execute("insert into book values(:sname, :ssex, :sphone, :sage), /
sname = '王博士', ssex = '男', sphone = '110', sage = 45)
由于第二个参数是字典一样一一对应的,即使改变了顺序也没有影响。
简单的操作就这些,现在已经足够用了。