python链接mysql 判断是否成功_python连接mysql数据库并读取数据的实现
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內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
總結
以上是生活随笔為你收集整理的python链接mysql 判断是否成功_python连接mysql数据库并读取数据的实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: arraylist是如何扩容的?_Arr
- 下一篇: linux cmake编译源码,linu