国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語(yǔ)言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - python鏈接oracle數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)的增刪改查實(shí)例

python鏈接oracle數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)的增刪改查實(shí)例

2021-01-10 00:20淺顏半夏 Python

下面小編就為大家分享一篇python鏈接oracle數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)的增刪改查實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

初次使用python鏈接oracle,所以想記錄下我遇到的問(wèn)題,便于向我這樣初次嘗試的朋友能夠快速的配置好環(huán)境進(jìn)入開發(fā)環(huán)節(jié)。

1.首先,python鏈接oracle數(shù)據(jù)庫(kù)需要配置好環(huán)境。

我的相關(guān)環(huán)境如下:

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。這個(gè)是server版本號(hào),在鏈接oracle數(shù)據(jù)庫(kù)的時(shí)候還需要oracle的客戶端版,客戶端版本的下載也要參考python的版本,python是32位的客戶端下載也要用32位。

3)cx_Oracle:python鏈接oracle的驅(qū)動(dòng)包,這個(gè)需要自己安裝,https://pypi.python.org/pypi/cx_Oracle/5.3在這個(gè)網(wǎng)址中下載對(duì)應(yīng)的驅(qū)動(dòng),下載驅(qū)動(dòng)的時(shí)候一定要選好對(duì)應(yīng)的版本,我的python是3.6的32位版本,所以在下載驅(qū)動(dòng)的時(shí)候也要選擇對(duì)應(yīng)的版本,我選擇的版本是cx_Oracle-5.3-11g.win32-py3.6.exe (md5),下載后直接安裝運(yùn)行就行了,他會(huì)有一個(gè)自檢,如果沒(méi)有通過(guò)就說(shuō)明你的驅(qū)動(dòng)版本沒(méi)有下載對(duì)。

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

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

3.在python中輸入:

?
1
import cx_Oracle

沒(méi)有報(bào)錯(cuò)的話說(shuō)明驅(qū)動(dòng)安裝成功。

4.數(shù)據(jù)庫(kù)連接操作:

?
1
2
3
4
5
6
7
conn = cx_Oracle.connect('xzt/xzt@localhost/testdb')#這里的順序是用戶名/密碼@oracleserver的ip地址/數(shù)據(jù)庫(kù)名字
  cur = conn.cursor()
  sql = "SELECT * FROM DUAL"
  cur.execute(sql)
  cur.close()
  conn.commit()
  conn.close()

5.數(shù)據(jù)庫(kù)查詢:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import cx_Oracle
 
conn = cx_Oracle.connect('xzt/xzt@localhost/testdb') 
cursor = conn.cursor ()
 
cursor.execute ("SELECT * FROM STUDENT_TB")
rows = cursor.fetchall() #得到所有數(shù)據(jù)集
for row in rows:
  print("%d, %s, %s, %s" % (row[0], row[1], row[2], row[3]))#python3以上版本中print()要加括號(hào)用了
 
print("Number of rows returned: %d" % cursor.rowcount)
 
cursor.execute ("SELECT * FROM STUDENT_TB")
while (True):
  row = cursor.fetchone() #逐行得到數(shù)據(jù)集
  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.數(shù)據(jù)庫(kù)插入:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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才行,要不然數(shù)據(jù)是不會(huì)插入的
 
cursor.close()
conn.close()

7案例:從某網(wǎng)站上面爬取彩票號(hào)碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import re
import urllib
import cx_Oracle
import urllib.request
 
def getHtml(url):
    page = urllib.request.urlopen(url)
    html= page.read()
    return html
def getNumber(html):
    reg = r'<li class="ball_red">(\d{2})</li>'
    reg2 = r'<li class="ball_blue">(\d{2})</li>'
    regqnumber = r'第 <font class="cfont2"><strong>(\d*)</strong></font>'
    number = re.compile(reg)
    numberblue = re.compile(reg2)
    qnumber = re.compile(regqnumber)
    numberlist = re.findall(number,html.decode('gbk'))
    numberblue = re.findall(numberblue,html.decode('gbk'))
    qnum = re.findall(qnumber,html.decode('gbk'))
    for number in numberblue:
        numberlist.append(number)
    for n in qnum:
        numberlist.append(n)
    print(numberlist)
    return numberlist
 
    #將查詢到的號(hào)碼入庫(kù)
def RecodeToOracle(list):
    conn = cx_Oracle.connect('xzp/xzp@localhost/testdb.domain')
    cur = conn.cursor()
    sql = "INSERT INTO SSQ (REDNUM1,REDNUM2,REDNUM3,REDNUM4,REDNUM5,REDNUM6,BLUENUM,QNUMBER) VALUES ('%s','%s','%s','%s','%s','%s','%s','%s')"%(list[0],list[1],list[2],list[3],list[4],list[5],list[6],list[7])
    cur.execute(sql)
    cur.close()
    conn.commit()#這里一定要提交,要不然是沒(méi)有辦法將數(shù)據(jù)入庫(kù)的
    conn.close()#記得要關(guān)閉會(huì)話
def Geturl(html):
    reg = r'上一期:<a href="(.*)" rel="external nofollow" target="_blank">'
    url = re.compile(reg)
    urllist = re.findall(url,html.decode('gbk'))
    if len(urllist)!=0:
        print(urllist[0])
        if urllist[0].index('http:')<0:
            urllist[0]='http:'+urllist[0]
        htmlbefore = getHtml(urllist[0])
        # print(htmlbefore)
        numberlist = getNumber(htmlbefore)
        print(len(numberlist))
        RecodeToOracle(numberlist)
        print(numberlist)
        Geturl(htmlbefore)
    else:  
        return
 
str1 = '網(wǎng)站地址'
html1 = getHtml(str1)
RecodeToOracle(getNumber(html1))
Geturl(html1)

上面的代碼用了遞歸運(yùn)算,循環(huán)讀取彩票信息,可以一直讀取到2003年第一期,由于使用的是遞歸,在性能上不是很好,代碼非常吃內(nèi)存,電腦內(nèi)存不夠的朋友就不要嘗試了,容易死機(jī)。

以上這篇python鏈接oracle數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)的增刪改查實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://blog.csdn.net/xiazhipeng1000/article/details/78987036

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: www.av在线 | 久久免费视频9 | 欧美天堂一区二区三区 | 视频在线一区二区 | 中文字幕国产 | 久久精品久久久 | 亚洲精品一区二区三区在线 | 欧美精品国产精品 | 中文字幕不卡在线观看 | 欧美一区2区 | 91午夜伦伦电影理论片 | 不卡一二区| 美女视频一区 | 成人在线天堂 | 欧美日韩中文在线 | 曰本人一级毛片免费完整视频 | 日本在线免费观看视频 | 亚洲一区中文 | 最近免费中文字幕在线视频2 | 国产精品无码永久免费888 | 精品视频免费观看 | 99er视频| 国产99久久精品一区二区永久免费 | 欧美成年黄网站色视频 | 欧美一级在线观看 | 精品九九久久 | 亚洲欧美国产另类 | www.操.com| 欧美日韩成人一区二区 | 国产精品99一区二区三区 | 亚洲激情视频 | 午夜精品美女久久久久av福利 | 国产高潮久久 | 国产亚洲精品久久久久动 | 亚洲欧美一区在线 | 国产精品亚洲视频 | 色啪网站 | 黄色一级毛片网站 | 国产色秀视频在线观看 | 九一午夜精品av | 手机看片亚洲 |