Python編程實(shí)戰(zhàn)之Oracle數(shù)據(jù)庫操作示例
本文實(shí)例講述了Python編程實(shí)戰(zhàn)之Oracle數(shù)據(jù)庫操作。分享給大家供大家參考,具體如下:
1. 要想使Python可以操作Oracle數(shù)據(jù)庫,首先需要安裝cx_Oracle包,可以通過下面的地址來獲取安裝包
http://cx-oracle.sourceforge.net/
2. 另外還需要oracle的一些類庫,此時(shí)需要在運(yùn)行python的機(jī)器上安裝Oracle Instant Client軟件包,可以通過下面地址獲得
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
找到符合自己平臺的包,然后安裝,這里我使用的是rpm包,所以使用以下命令安裝
$ sudo rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.rpm
裝完畢后還需要設(shè)置一下環(huán)境變量,如下
3. 創(chuàng)建一個(gè)簡單的python文件,測試安裝是否成功
import cx_Oracle conn = cx_Oracle.connect('fkong/fkong@172.17.23.129/orcl') cursor = conn.cursor () cursor.execute ("select * from dual") row = cursor.fetchone () print row[0] cursor.close () conn.close ()
4. 下面看一個(gè)數(shù)據(jù)庫建表和插入操作
import cx_Oracle conn = cx_Oracle.connect('fkong/fkong@172.17.23.129/orcl') cursor = conn.cursor () cursor.execute ("CREATE TABLE TEST(ID INT, COL1 VARCHAR(32), COL2 VARCHAR(32), COL3 VARCHAR(32))") cursor.execute ("INSERT INTO TEST (ID, COL1, COL2, COL3)VALUES(1, 'a', 'b', 'c')") cursor.execute ("INSERT INTO TEST (ID, COL1, COL2, COL3)VALUES(2, 'aa', 'bb', 'cc')") cursor.execute ("INSERT INTO TEST (ID, COL1, COL2, COL3)VALUES(3, 'aaa', 'bbb', 'ccc')") conn.commit() cursor.close () conn.close ()
5. 下面再來看看查詢,查詢通常有兩種方式:一種是使用cursor.fetchall()獲取所有查詢結(jié)果,然后再一行一行的迭代;另一種每次通過cursor.fetchone()獲取一條記錄,直到獲取的結(jié)果為空為止。看一下下面的例子:
import cx_Oracle conn = cx_Oracle.connect('fkong/fkong@172.17.23.129/orcl') cursor = conn.cursor () cursor.execute ("SELECT * FROM TEST") rows = cursor.fetchall() for row in rows: print "%d, %s, %s, %s" % (row[0], row[1], row[2], row[3]) print "Number of rows returned: %d" % cursor.rowcount cursor.execute ("SELECT * FROM TEST") while (1): row = cursor.fetchone() if row == None: break print "%d, %s, %s, %s" % (row[0], row[1], row[2], row[3]) print "Number of rows returned: %d" % cursor.rowcount cursor.close () conn.close ()
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python常見數(shù)據(jù)庫操作技巧匯總》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
pyinstaller參數(shù)介紹以及總結(jié)詳解
這篇文章主要介紹了pyinstaller參數(shù)介紹以及總結(jié)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Python數(shù)據(jù)分析之?Pandas?Dataframe條件篩選遍歷詳情
這篇文章主要介紹了Python數(shù)據(jù)分析之?Pandas?Dataframe條件篩選遍歷詳情,查詢Pandas?Dataframe數(shù)據(jù)時(shí),經(jīng)常會(huì)篩選出符合條件的數(shù)據(jù),關(guān)于其使用方式,需要的小伙伴可以參考一下下面文章內(nèi)容2022-05-05Python實(shí)現(xiàn)獲取前100組勾股數(shù)的方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)獲取前100組勾股數(shù)的方法,涉及Python數(shù)值計(jì)算與判斷相關(guān)操作技巧,需要的朋友可以參考下2018-05-05Python?threading和Thread模塊及線程的實(shí)現(xiàn)
這篇文章主要介紹了Python?threading和Thread模塊及線程的實(shí)現(xiàn),Python通過兩個(gè)標(biāo)準(zhǔn)庫thread和threading提供對線程的支持,threading對thread進(jìn)行了封裝,具體實(shí)現(xiàn)介紹需要的朋友可以參考一下下面文章內(nèi)容2022-06-06python關(guān)于矩陣重復(fù)賦值覆蓋問題的解決方法
這篇文章主要介紹了python關(guān)于矩陣重復(fù)賦值覆蓋問題的解決方法,涉及Python深拷貝與淺拷貝相關(guān)操作與使用技巧,需要的朋友可以參考下2019-07-07