今天就跟大家聊聊有關在Python中如何使用cx_Oracle來訪問Oracle,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
在Python中如果要訪問和操作Oracle數據庫,可使用cx_Oracle來實現。
準備工作
安裝好Python,本例使用Python 2.7版本。
安裝本地Oracle客戶端,配置數據庫連接,本例使用Oracle 11g。
下載和安裝cx_Oracle
下載地址:http://sourceforge.net/projects/cx-oracle/
下載時注意Oracle數據庫版本及本地Python版本。下載后,直接安裝即可。
簡單查詢操作
import cx_Oracle
#創建數據庫連接
conn = cx_Oracle.connect('dbuser/password@servername/sid')
#獲取操作游標
cursor = conn.cursor()
#執行查詢SQL,返回值1
cursor.execute("""select 1 from dual""")
#獲取返回結果一條記錄
rs = cursor.fetchone()
#執行完成,打印提示信息
print 'result = %s'%rs
result = 1
#關閉連接,釋放資源
cursor.close()
conn.close()執行DDL建表語句
cursor.execute("""create table tmp_user(id number, name varchar2(20))""")
print 'completed!'執行DML插入記錄
#插入一條記錄
cursor.execute(
"""insert into tmp_user values(1,'admin')"""
)
#采用綁定變量方式插入一條記錄
param = {'id':2, 'name':'system'}
cursor.execute('insert into tmp_user values(:id, :name)',param)
#一次插入多條數據,參數為字典列表形式
param=[{'id':3,'name':'John'},{'id':4,'name':'Mary'},{'id':5,'name':'Steven'}]
cursor.executemany('insert into tmp_user values(:id,:name)',param)
#再一次插入多條數據,參數為元組列表形式
param=[]
for i in range(6,8): #[6,7]
param.append((i,'user'+str(i)))
cursor.executemany('insert into tmp_user values(:1,:2)',param)
#提交事務
conn.commit查詢返回多條記錄的情況
cursor.execute("""select * from tmp_user""")
#獲取2條記錄
r2 = cursor.fetchmany(2)
print r2[0], r2[1]
#獲取剩余所有記錄
rn = cursor.fetchall()
for row in rn:
print row
#帶條件的查詢
cursor.prepare("""select * from tmp_user where id>=:id""")
cursor.execute(None,{'id':7}) #None注意大小寫
for row in cursor:
print row執行調用存儲過程(見下篇)
看完上述內容,你們對在Python中如何使用cx_Oracle來訪問Oracle有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。