1、安裝pymysql包
?
1
pip install pymysql
注:
MySQLdb隻支援python2,pymysql支援python3
2、連接配接資料
?
1
2
3
4
5
6
7
8
9
10
11
import pymysql
import pandas as pd
from pandasimport DataFrame as df
conn= pymysql.Connect(
host= 'IP位址',
port= 端口号,
user= '使用者名',
passwd= '使用者密碼',
db= '資料庫名稱',
charset= 'utf8'
)
注:
檢視本機IP位址:cmd輸入:ipconfig,IPv4 位址
pymysql.Connect參數中的 host 伺服器位址,本機可用'localhost'
3、讀取資料
(1)使用read_sql讀取資料
?
1
2
sql= 'select * from testa'
data= pd.read_sql(sql, conn)
(2)使用cursor讀取資料
?
1
2
3
4
5
6
7
8
9
10
11
12
sql= 'select * from testa'
cur= conn.cursor()
try:# 使用異常處理,以防程式無法正常運作
cur.execute(sql)
data= df(cur.fetchall(), columns= [col[0]for colin cur.description])
except Exception as e:
conn.rollback()# 發生錯誤時復原
print('事務處理失敗', e)
else:
# conn.commit() # 事務送出
print('事務處理成功', cur.rowcount)
cur.close()
注:
read_sql、cursor遊标差別:
read_sql :隻能執行查詢資料
cursor遊标 :可以執行查詢、插入、更新、删除等操作
cur.execute(sql) :
執行具體資料庫的操作
cur.fetchone() :
擷取單條資料
cur.fetchmany(3) :
擷取前3條資料
cur.fetchall() :
擷取所有資料
查詢結果中含字段名稱:
?
1
2
3
4
5
6
7
8
9
# 法1:
cur= conn.cursor(cursor= pymysql.cursors.DictCursor)# 設定成DictCursor,結果包含字段名稱
cur.execute(sql)
data= df(cur.fetchall())
# 法2:
cur= conn.cursor()
cur.execute(sql)
data= df(cur.fetchall(),columns= [col[0]for colin cur.description])
conn.commit() :
插入、更新、删除等操作需用該語句;查詢、建立資料庫、資料表則不需要
cur.rowcount :
傳回執行的操作條數
4、關閉資料庫
?
1
conn.close()
到此這篇關于python連接配接mysql資料庫并讀取資料的實作的文章就介紹到這了,更多相關python連接配接mysql内容請搜尋伺服器之家以前的文章或繼續浏覽下面的相關文章希望大家以後多多支援伺服器之家!
原文連結:https://blog.csdn.net/weixin_40012554/article/details/108734167