使用python讀取mysql數據庫並進行數據的操做

(一)環境的配置html

使用python調用mysql數據庫要引進一些庫。python

目前我使用的python版本是python3.6。引進庫爲pymysqlmysql

其餘對應的庫能夠有如下選擇: 
mysqldb,oursql, PyMySQL, myconnpy 等,參考以下連接: 
http://dev.mysql.com/doc/connector-python/en/index.html 
http://packages.python.org/oursql/ 
https://github.com/petehunt/PyMySQL/ 
https://launchpad.net/myconnpygit

(二)鏈接數據庫github

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

cur=conn.cursor() 
1
2
3
關於遊標cursor:數據庫

close():關閉此遊標對象 
fetchone():獲得結果集的下一行 
fetchmany([size = cursor.arraysize]):獲得結果集的下幾行 
fetchall():獲得結果集中剩下的全部行 
excute(sql[, args]):執行一個數據庫查詢或命令 
excutemany(sql, args):執行多個數據庫查詢或命令fetch

( 三)數據庫基本操做:.net

#表的建立
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等浮點數聲明的時候應該是DOUBLE(M,N)  m爲數字長度,n爲小數點後的位數htm

#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()

#對於插入、更新等對數據庫進行修改的工做,在插入以後必定要commit提交。
#此時插入操做是插入一些變量轉化成的值。  
#正確操做  (%s, %s, %s, %s )", (big_name, small_name, context[m][0], context[m][1])
#錯誤操做  (%s, %s, %s, %s )" %(big_name, small_name, context[m][0], context[m][1])

#更新、刪除同理

#我也很想知道爲何這個代碼片的顏色這麼怪,沒有正確識別註釋和代碼
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
(四)注意事項

對於查詢操做而言:
    cur.execute(select_sql)
    result = cur.fetchall()

   for c in cur:
       ...  #cursor是遊標所在位置,若是輸出會發現只有一行數據。
   for r in result:
       ...  #result是在對cursor調用fetchall以後,result是獲取的查詢全部結果。result是一個列表,r是每一行數據。

對於數據增刪改以後,必定要提交!提交!提交!

在全部操做完成以後,一個好習慣是關閉數據庫鏈接,關閉遊標。

cur.close() conn.close()  

相關文章
相關標籤/搜索