国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python鏈接oracle數據庫以及數據庫的增刪改查實例

2020-02-22 23:03:12
字體:
來源:轉載
供稿:網友

初次使用python鏈接oracle,所以想記錄下我遇到的問題,便于向我這樣初次嘗試的朋友能夠快速的配置好環境進入開發環節。

1.首先,python鏈接oracle數據庫需要配置好環境。

我的相關環境如下:

1)python:Python 3.6.3 (v3.6.3:2c5fed8, Oct 3 2017, 17:26:49) [MSC v.1900 32 bit (Intel)] on win32

2)oracle:11.2.0.1.0 64bit。這個是server版本號,在鏈接oracle數據庫的時候還需要oracle的客戶端版,客戶端版本的下載也要參考python的版本,python是32位的客戶端下載也要用32位。

3)cx_Oracle:python鏈接oracle的驅動包,這個需要自己安裝,https://pypi.python.org/pypi/cx_Oracle/5.3在這個網址中下載對應的驅動,下載驅動的時候一定要選好對應的版本,我的python是3.6的32位版本,所以在下載驅動的時候也要選擇對應的版本,我選擇的版本是cx_Oracle-5.3-11g.win32-py3.6.exe (md5),下載后直接安裝運行就行了,他會有一個自檢,如果沒有通過就說明你的驅動版本沒有下載對。

2.上面的工作做好之后,在剛才下載好的oracle客戶端版本中找到下面三個文件:oci.dll、oraocci11.dll、oraociei11.dll,將這幾個dll文件復制到

Python/Python36-32/Lib/site-packages文件夾中。

3.在python中輸入:

import cx_Oracle 

沒有報錯的話說明驅動安裝成功。

4.數據庫連接操作:

conn = cx_Oracle.connect('xzt/xzt@localhost/testdb')#這里的順序是用戶名/密碼@oracleserver的ip地址/數據庫名字   cur = conn.cursor()   sql = "SELECT * FROM DUAL"   cur.execute(sql)   cur.close()   conn.commit()   conn.close() 

5.數據庫查詢:

import cx_Oracle  conn = cx_Oracle.connect('xzt/xzt@localhost/testdb')  cursor = conn.cursor ()  cursor.execute ("SELECT * FROM STUDENT_TB") rows = cursor.fetchall() #得到所有數據集 for row in rows:   print("%d, %s, %s, %s" % (row[0], row[1], row[2], row[3]))#python3以上版本中print()要加括號用了 print("Number of rows returned: %d" % cursor.rowcount)  cursor.execute ("SELECT * FROM STUDENT_TB") while (True):   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 () 

6.數據庫插入:

import cx_Oracle  conn = cx_Oracle.connect('xzp/xzp@localhost/testdb')  cursor = conn.cursor()  cursor.execute ("CREATE TABLE INSERTTEST(ID INT, C1 VARCHAR(50), C2 VARCHAR(50), C3 VARCHAR(50))")  cursor.execute ("INSERT INTO INSERTTEST (ID, COL1, COL2, COL3)VALUES(1213412, 'asdfa', 'ewewe', 'sfjgsfg')") cursor.execute ("INSERT INTO INSERTTEST (ID, COL1, COL2, COL3)VALUES(12341, 'ashdfh', 'shhsdfh', 'sghs')") cursor.execute ("INSERT INTO INSERTTEST (ID, COL1, COL2, COL3)VALUES(123451235, 'werwerw', 'asdfaf', 'awew')") conn.commit() #這里一定要commit才行,要不然數據是不會插入的  cursor.close() conn.close()            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汨罗市| 保康县| 浪卡子县| 德化县| 共和县| 阳江市| 长岛县| 寿阳县| 鹿泉市| 巍山| 金秀| 应城市| 延边| 安福县| 昭觉县| 威信县| 乾安县| 正定县| 三河市| 舒兰市| 乐安县| 巴青县| 仪陇县| 沂源县| 永州市| 上饶市| 浏阳市| 高阳县| 甘肃省| 东海县| 周口市| 峨边| 临沂市| 屯留县| 墨脱县| 揭西县| 张家港市| 修文县| 沽源县| 许昌市| 西华县|