python連接mysql數(shù)據(jù)庫并讀取數(shù)據(jù)的實現(xiàn)
1、安裝pymysql包
pip install pymysql
注:
MySQLdb只支持python2,pymysql支持python3
2、連接數(shù)據(jù)
import pymysql import pandas as pd from pandas import DataFrame as df conn = pymysql.Connect( host = 'IP地址', port = 端口號, user = '用戶名', passwd = '用戶密碼', db = '數(shù)據(jù)庫名稱', charset = 'utf8' )
注:
查看本機IP地址:cmd輸入:ipconfig,IPv4 地址
pymysql.Connect參數(shù)中的 host 服務器地址,本機可用'localhost'
3、讀取數(shù)據(jù)
(1)使用read_sql讀取數(shù)據(jù)
sql = 'select * from testa' data = pd.read_sql(sql, conn)
(2)使用cursor讀取數(shù)據(jù)
sql = 'select * from testa' cur = conn.cursor() try: # 使用異常處理,以防程序無法正常運行 cur.execute(sql) data = df(cur.fetchall(), columns = [col[0] for col in cur.description]) except Exception as e: conn.rollback() # 發(fā)生錯誤時回滾 print('事務處理失敗', e) else: # conn.commit() # 事務提交 print('事務處理成功', cur.rowcount) cur.close()
注:
read_sql、cursor游標區(qū)別:
- read_sql :只能執(zhí)行查詢數(shù)據(jù)
- cursor游標 :可以執(zhí)行查詢、插入、更新、刪除等操作
cur.execute(sql) :
- 執(zhí)行具體數(shù)據(jù)庫的操作
cur.fetchone() :
- 獲取單條數(shù)據(jù)
cur.fetchmany(3) :
- 獲取前3條數(shù)據(jù)
cur.fetchall() :
- 獲取所有數(shù)據(jù)
查詢結果中含字段名稱:
# 法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 col in cur.description])
conn.commit() :
- 插入、更新、刪除等操作需用該語句;查詢、創(chuàng)建數(shù)據(jù)庫、數(shù)據(jù)表則不需要
cur.rowcount :
- 返回執(zhí)行的操作條數(shù)
4、關閉數(shù)據(jù)庫
conn.close()
到此這篇關于python連接mysql數(shù)據(jù)庫并讀取數(shù)據(jù)的實現(xiàn)的文章就介紹到這了,更多相關python連接mysql內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Sentry的安裝、配置、使用教程(Sentry日志手機系統(tǒng))
Sentry?是一個實時事件日志記錄和聚合平臺,由于ExceptionLess官方提供的客戶端只有.Net/.NetCore平臺和js的,本文繼續(xù)介紹另一個日志收集系統(tǒng)Sentry,感興趣的朋友一起看看吧2022-07-07python wxpython 實現(xiàn)界面跳轉功能
wxpython沒提供界面跳轉的方式,所以就需要借助threading模塊,本文給大家分享python wxpython 實現(xiàn)界面跳轉功能,感興趣的朋友跟隨小編一起看看吧2019-12-12OpenCV實現(xiàn)機器人對物體進行移動跟隨的方法實例
這篇文章主要給大家介紹了關于OpenCV實現(xiàn)機器人對物體進行移動跟隨的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11