利用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.當(dāng)SQL語句為查詢語句或者插入數(shù)據(jù)語句時,通過數(shù)據(jù)庫對象引用commit()方法提交更新數(shù)據(jù)。如:
數(shù)據(jù)庫對象名.commit()
11.當(dāng)所有操作執(zhí)行完之后,關(guān)閉游標的使用,即關(guān)閉后臺指向,通過調(diào)用其close()方法。如:
游標對象名.close()
12.當(dāng)所有操作執(zhí)行完之后,關(guān)閉數(shù)據(jù)庫的連接,通過數(shù)據(jù)庫對象名調(diào)用其close()方法進行關(guān)閉。如:
數(shù)據(jù)庫對象名.close()
小結(jié),這些是連接使用數(shù)據(jù)庫的最基本內(nèi)容,當(dāng)某條語句進行的多的時候,可以使用類進行封裝,當(dāng)使用時直接引入類,調(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)文章
Python NumPy實現(xiàn)數(shù)組排序與過濾示例分析講解
NumPy是Python的一種開源的數(shù)值計算擴展,它支持大量的維度數(shù)組與矩陣運算,這篇文章主要介紹了使用NumPy實現(xiàn)數(shù)組排序與過濾的方法,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-05-05
Python獲取和設(shè)置代理的動態(tài)IP的方式
在網(wǎng)絡(luò)世界中,代理和動態(tài)IP是非常常見的概念,尤其對于需要大規(guī)模訪問網(wǎng)站或者需要隱藏真實IP地址的應(yīng)用程序來說,更是必不可少的工具,本文將給大家介紹如何使用編程技術(shù)來實現(xiàn)動態(tài)IP的設(shè)置和管理,需要的朋友可以參考下2024-05-05
利用標準庫fractions模塊讓Python支持分數(shù)類型的方法詳解
最近在工作中遇到了分數(shù)處理,查找相關(guān)的資料發(fā)現(xiàn)可以利用Fraction類來實現(xiàn),所以下面這篇文章主要給大家介紹了關(guān)于利用標準庫fractions模塊讓Python支持分數(shù)類型的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。2017-08-08
Pycharm中安裝Pygal并使用Pygal模擬擲骰子(推薦)
這篇文章主要介紹了Pycharm中安裝Pygal并使用Pygal模擬擲骰子,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04
使用Python實現(xiàn)下載網(wǎng)易云音樂的高清MV
本文給大家分享的是一則使用Python實現(xiàn)下載網(wǎng)易云音樂中高清MV的代碼,本人新手,沒有做特別的功能,僅僅是直接循環(huán)了MV的id,小伙伴們可以自己擴展下。2015-03-03
Python調(diào)用高德API實現(xiàn)批量地址轉(zhuǎn)經(jīng)緯度并寫入表格的功能
這篇文章主要介紹了Python調(diào)用高德API實現(xiàn)批量地址轉(zhuǎn)經(jīng)緯度并寫入表格的功能,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01

