您好,登錄后才能下訂單哦!
這篇“如何利用Python連接Oracle數(shù)據(jù)庫(kù)”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“如何利用Python連接Oracle數(shù)據(jù)庫(kù)”文章吧。
這里我們采用的是使用Oracle數(shù)據(jù)庫(kù)進(jìn)行相關(guān)操作
在連接數(shù)據(jù)庫(kù)之間,應(yīng)下載相應(yīng)的工具包c(diǎn)x_Oracle,在你安裝的Python文件夾中找到script,在路徑欄點(diǎn)擊輸入cmd回車進(jìn)入命令行輸入
pip install cx_Oracle
進(jìn)行安裝,工具包較小,下載較快,大概300kb。
安裝好之后,打開(kāi)Python,新建一個(gè)工作區(qū)。
1.引入該工具包,使用import關(guān)鍵詞,輸入
import cx_Oracle
引入該工具包,運(yùn)行看是否加載成功(結(jié)果區(qū)為>>空行),無(wú)其他內(nèi)容),則表示加載成功;
2.建立與數(shù)據(jù)庫(kù)的連接,創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)對(duì)象
對(duì)象名 = cx_Oracle.connect('用戶名','密碼','監(jiān)聽(tīng)地址/數(shù)據(jù)庫(kù)名')
注意:用戶名密碼及數(shù)據(jù)庫(kù)名,是你在登錄Oracle數(shù)據(jù)庫(kù)圖形界面工具PLSQL Developer時(shí)填寫(xiě)的內(nèi)容,監(jiān)聽(tīng)端口地址為電腦的監(jiān)聽(tīng)端口地址(最后有查找方法)
3.創(chuàng)建一個(gè)游標(biāo)來(lái)執(zhí)行sql語(yǔ)句,
游標(biāo)對(duì)象名 = 對(duì)象名.cursor()
4.通過(guò)建立SQL語(yǔ)句來(lái)進(jìn)行操作數(shù)據(jù)庫(kù),SQL語(yǔ)句的語(yǔ)法規(guī)則同Oracle上的規(guī)則完全相同。
5.通過(guò)游標(biāo)對(duì)象名調(diào)用execute()方法執(zhí)行單條SQL語(yǔ)句。如:
游標(biāo)對(duì)象名.execute(sql)
6.通過(guò)游標(biāo)對(duì)象名調(diào)用executemany(sql,param)方法執(zhí)行多條SQL語(yǔ)句。插入多條數(shù)據(jù)值時(shí)常用,每行的數(shù)據(jù)值應(yīng)封裝在一個(gè)元組內(nèi),再使用列表進(jìn)行封裝。如:
param = [(1,'張山',29)] 游標(biāo)對(duì)象名.executemany(sql,param)
7.通過(guò)變量名調(diào)用fetchone()方法獲取一條被執(zhí)行的SQL查詢語(yǔ)句的值。如:
變量名 = 游標(biāo)對(duì)象名.execute(sql) 變量名.fetchone()
8.通過(guò)變量名調(diào)用fetchmany(int)方法獲取一條被執(zhí)行的SQL查詢語(yǔ)句的多條值,int為指定查詢數(shù)據(jù)的條數(shù)。如:
變量名 = 游標(biāo)對(duì)象名.execute(sql) 變量名.fetchmany(int值)
9.通過(guò)變量名調(diào)用fetchall()方法獲取一條被執(zhí)行的SQL查詢語(yǔ)句的全部值。如:
變量名 = 游標(biāo)對(duì)象名.execute(sql) 變量名.fetchall()
10.當(dāng)SQL語(yǔ)句為查詢語(yǔ)句或者插入數(shù)據(jù)語(yǔ)句時(shí),通過(guò)數(shù)據(jù)庫(kù)對(duì)象引用commit()方法提交更新數(shù)據(jù)。如:
數(shù)據(jù)庫(kù)對(duì)象名.commit()
11.當(dāng)所有操作執(zhí)行完之后,關(guān)閉游標(biāo)的使用,即關(guān)閉后臺(tái)指向,通過(guò)調(diào)用其close()方法。如:
游標(biāo)對(duì)象名.close()
12.當(dāng)所有操作執(zhí)行完之后,關(guān)閉數(shù)據(jù)庫(kù)的連接,通過(guò)數(shù)據(jù)庫(kù)對(duì)象名調(diào)用其close()方法進(jìn)行關(guān)閉。如:
數(shù)據(jù)庫(kù)對(duì)象名.close()
小結(jié),這些是連接使用數(shù)據(jù)庫(kù)的最基本內(nèi)容,當(dāng)某條語(yǔ)句進(jìn)行的多的時(shí)候,可以使用類進(jìn)行封裝,當(dāng)使用時(shí)直接引入類,調(diào)用類中的函數(shù)塊操作即可。
范例如下(創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象時(shí)填寫(xiě)自己對(duì)應(yīng)的內(nèi)容):
import cx_Oracle conn = cx_Oracle.connect('system','123456','監(jiān)聽(tīng)/orcl') cursor = conn.cursor() sql = """ CREATE TABLE student ( sid number primary key, sname varchar2(30), sage number )""" sql1 = """insert into student values(:sid,:sname,:sage)""" sql2 = """insert into student values('100004','趙六','24')""" sql3 = """select * from student""" param = [(100001,'張三',19)] param1 = [(100002,'李四',20),(100003,'王五',21)] cursor.execute(sql) print("執(zhí)行成功") cursor.execute(sql2) cursor.executemany(sql1,param) print("執(zhí)行成功") cursor.executemany(sql1,param1) print("執(zhí)行成功") conn.commit() s = cursor.execute(sql3) print(s.fetchmany(3)) print("執(zhí)行成功") cursor.close() conn.close()
電腦監(jiān)聽(tīng)端口地址查找方法:win+r輸入cmd回車,進(jìn)入命令行輸入netstat -a;,即可查看。
以上就是關(guān)于“如何利用Python連接Oracle數(shù)據(jù)庫(kù)”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。