利用Python連接Oracle數(shù)據(jù)庫的基本操作指南
這里我們采用的是使用Oracle數(shù)據(jù)庫進行相關(guān)操作
在連接數(shù)據(jù)庫之間,應(yīng)下載相應(yīng)的工具包cx_Oracle,在你安裝的Python文件夾中找到script,在路徑欄點擊輸入cmd回車進入命令行輸入
pip install cx_Oracle
進行安裝,工具包較小,下載較快,大概300kb。
安裝好之后,打開Python,新建一個工作區(qū)。
1.引入該工具包,使用import關(guān)鍵詞,輸入
import cx_Oracle
引入該工具包,運行看是否加載成功(結(jié)果區(qū)為>>空行),無其他內(nèi)容),則表示加載成功;
2.建立與數(shù)據(jù)庫的連接,創(chuàng)建一個數(shù)據(jù)庫對象
對象名 = cx_Oracle.connect('用戶名','密碼','監(jiān)聽地址/數(shù)據(jù)庫名')
注意:用戶名密碼及數(shù)據(jù)庫名,是你在登錄Oracle數(shù)據(jù)庫圖形界面工具PLSQL Developer時填寫的內(nèi)容,監(jiān)聽端口地址為電腦的監(jiān)聽端口地址(最后有查找方法)
3.創(chuàng)建一個游標來執(zhí)行sql語句,
游標對象名 = 對象名.cursor()
4.通過建立SQL語句來進行操作數(shù)據(jù)庫,SQL語句的語法規(guī)則同Oracle上的規(guī)則完全相同。
5.通過游標對象名調(diào)用execute()方法執(zhí)行單條SQL語句。如:
游標對象名.execute(sql)
6.通過游標對象名調(diào)用executemany(sql,param)方法執(zhí)行多條SQL語句。插入多條數(shù)據(jù)值時常用,每行的數(shù)據(jù)值應(yīng)封裝在一個元組內(nèi),再使用列表進行封裝。如:
param = [(1,'張山',29)] 游標對象名.executemany(sql,param)
7.通過變量名調(diào)用fetchone()方法獲取一條被執(zhí)行的SQL查詢語句的值。如:
變量名 = 游標對象名.execute(sql) 變量名.fetchone()
8.通過變量名調(diào)用fetchmany(int)方法獲取一條被執(zhí)行的SQL查詢語句的多條值,int為指定查詢數(shù)據(jù)的條數(shù)。如:
變量名 = 游標對象名.execute(sql) 變量名.fetchmany(int值)
9.通過變量名調(diào)用fetchall()方法獲取一條被執(zhí)行的SQL查詢語句的全部值。如:
變量名 = 游標對象名.execute(sql) 變量名.fetchall()
10.當SQL語句為查詢語句或者插入數(shù)據(jù)語句時,通過數(shù)據(jù)庫對象引用commit()方法提交更新數(shù)據(jù)。如:
數(shù)據(jù)庫對象名.commit()
11.當所有操作執(zhí)行完之后,關(guān)閉游標的使用,即關(guān)閉后臺指向,通過調(diào)用其close()方法。如:
游標對象名.close()
12.當所有操作執(zhí)行完之后,關(guān)閉數(shù)據(jù)庫的連接,通過數(shù)據(jù)庫對象名調(diào)用其close()方法進行關(guān)閉。如:
數(shù)據(jù)庫對象名.close()
小結(jié),這些是連接使用數(shù)據(jù)庫的最基本內(nèi)容,當某條語句進行的多的時候,可以使用類進行封裝,當使用時直接引入類,調(diào)用類中的函數(shù)塊操作即可。
范例如下(創(chuàng)建數(shù)據(jù)庫對象時填寫自己對應(yīng)的內(nèi)容):
import cx_Oracle conn = cx_Oracle.connect('system','123456','監(jiān)聽/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)聽端口地址查找方法:win+r輸入cmd回車,進入命令行輸入netstat -a;,即可查看。
總結(jié)
到此這篇關(guān)于利用Python連接Oracle數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)Python連接Oracle的基本操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Matplotlib 繪制精美的數(shù)學(xué)圖形例子
今天小編就為大家分享一篇使用Matplotlib 繪制精美的數(shù)學(xué)圖形例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12Python Lambda函數(shù)使用總結(jié)詳解
這篇文章主要介紹了Python Lambda函數(shù)使用總結(jié)詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下2019-12-12Python實現(xiàn)Excel文件的合并(以新冠疫情數(shù)據(jù)為例)
這篇將以新冠疫情數(shù)據(jù)為例,詳細介紹了如何利用Python實現(xiàn)合并Excel文件,文中的示例代碼講解詳細,感興趣的可以了解一下2022-03-03pandas把所有大于0的數(shù)設(shè)置為1的方法
今天小編就為大家分享一篇pandas把所有大于0的數(shù)設(shè)置為1的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01