溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

用python讀取網(wǎng)頁(yè)數(shù)據(jù)庫(kù)數(shù)據(jù)的方法

發(fā)布時(shí)間:2020-07-28 11:37:04 來(lái)源:億速云 閱讀:395 作者:清晨 欄目:編程語(yǔ)言

小編給大家分享一下用python讀取網(wǎng)頁(yè)數(shù)據(jù)庫(kù)數(shù)據(jù)的方法,相信大部分人都還不怎么了解,因此分享這邊文章給大家學(xué)習(xí),希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學(xué)習(xí)方法吧!

使用python調(diào)用mysql數(shù)據(jù)庫(kù)要引進(jìn)一些庫(kù)。

目前我使用的python版本是python3.6。引進(jìn)庫(kù)為pymysql

連接數(shù)據(jù)庫(kù)

conn = pymysql.connect(host='127.0.0.1', user='root', passwd='123456', db='exam', charset='utf8')
cur=conn.cursor()

關(guān)于游標(biāo)cursor:

close():關(guān)閉此游標(biāo)對(duì)象
fetchone():得到結(jié)果集的下一行
fetchmany([size = cursor.arraysize]):得到結(jié)果集的下幾行
fetchall():得到結(jié)果集中剩下的所有行
excute(sql[, args]):執(zhí)行一個(gè)數(shù)據(jù)庫(kù)查詢或命令
excutemany(sql, args):執(zhí)行多個(gè)數(shù)據(jù)庫(kù)查詢或命令

數(shù)據(jù)庫(kù)基本操作

#表的創(chuàng)建
cur.execute("drop table if exists exam_class")
cur.execute("CREATE TABLE IF NOT EXISTS exam_class( \
      id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT ,\
      big_class VARCHAR(255), \
      small_class VARCHAR(255) , \
      charact VARCHAR(255) ,\
      fre  DOUBLE(5,4)  ) ")
#注意DOUBLE等浮點(diǎn)數(shù)聲明的時(shí)候應(yīng)該是DOUBLE(M,N)  m為數(shù)字長(zhǎng)度,n為小數(shù)點(diǎn)后的位數(shù)

#SELECT查詢操作
select_sql = 'SELECT small_class,big_class,job_intro FROM table2'
try:
    cur.execute(select_sql)
    print(cur.execute(select_sql))
except:
    print("Select is failed")

#INSERT插入操作
cur.execute("INSERT INTO exam_class (big_class, small_class, charact, fre)\
             VALUES (%s, %s, %s, %s )", (big_name, small_name, context[m][0], context[m][1]))
conn.commit()

#對(duì)于插入、更新等對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改的工作,在插入之后一定要commit提交。
#此時(shí)插入操作是插入一些變量轉(zhuǎn)化成的值。  
#正確操作  (%s, %s, %s, %s )", (big_name, small_name, context[m][0], context[m][1])
#錯(cuò)誤操作  (%s, %s, %s, %s )" %(big_name, small_name, context[m][0], context[m][1])

#更新、刪除同理

注意事項(xiàng)

對(duì)于查詢操作而言:

cur.execute(select_sql)
result = cur.fetchall()

   for c in cur:
       ...  #cursor是游標(biāo)所在位置,如果輸出會(huì)發(fā)現(xiàn)只有一行數(shù)據(jù)。
   for r in result:
       ...  #result是在對(duì)cursor調(diào)用fetchall之后,result是獲取的查詢所有結(jié)果。result是一個(gè)列表,r是每一行數(shù)據(jù)。

對(duì)于數(shù)據(jù)增刪改之后,一定要提交!提交!提交!

在所有操作完成之后,一個(gè)好習(xí)慣是關(guān)閉數(shù)據(jù)庫(kù)連接,關(guān)閉游標(biāo)。

cur.close()
conn.close()

以上是用python讀取網(wǎng)頁(yè)數(shù)據(jù)庫(kù)數(shù)據(jù)的方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI