python连接mysql数据库并读取数据的实现


Posted in Python onSeptember 25, 2020

1、安装pymysql包

pip install pymysql

注:
MySQLdb只支持python2,pymysql支持python3

2、连接数据

import pymysql 
import pandas as pd
from pandas import 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读取数据

sql = 'select * from testa'
data = pd.read_sql(sql, conn)

(2)使用cursor读取数据

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() # 发生错误时回滚
  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:
 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() :

  • 插入、更新、删除等操作需用该语句;查询、创建数据库、数据表则不需要

cur.rowcount :

  •  返回执行的操作条数

4、关闭数据库

conn.close()

到此这篇关于python连接mysql数据库并读取数据的实现的文章就介绍到这了,更多相关python连接mysql内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python基础入门学习笔记(Python环境搭建)
Jan 13 Python
Python装饰器知识点补充
May 28 Python
Python+Pandas 获取数据库并加入DataFrame的实例
Jul 25 Python
pandas 转换成行列表进行读取与Nan处理的方法
Oct 30 Python
Python+OpenCV采集本地摄像头的视频
Apr 25 Python
Django如何将URL映射到视图
Jul 29 Python
Python数据处理篇之Sympy系列(五)---解方程
Oct 12 Python
python求绝对值的三种方法小结
Dec 04 Python
Tensorflow分批量读取数据教程
Feb 07 Python
Python3.7安装pyaudio教程解析
Jul 24 Python
解决python 执行shell命令无法获取返回值的问题
Dec 05 Python
详解OpenCV曝光融合
Apr 29 Python
Python3如何使用tabulate打印数据
Sep 25 #Python
如何基于pandas读取csv后合并两个股票
Sep 25 #Python
matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)
Sep 25 #Python
python实现人性化显示金额数字实例详解
Sep 25 #Python
python 绘制正态曲线的示例
Sep 24 #Python
Python爬取网页信息的示例
Sep 24 #Python
详解用python -m http.server搭一个简易的本地局域网
Sep 24 #Python
You might like
php cookis创建实现代码
2009/03/16 PHP
PHP开发中常用的三个表单验证函数使用小结
2010/03/03 PHP
php计算整个目录大小的方法
2015/06/19 PHP
WAF的正确bypass
2017/01/05 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
javascript 对象的定义方法
2007/01/10 Javascript
jquery+json实现的搜索加分页效果
2010/03/31 Javascript
jQueryPad 实用的jQuery测试工具(支持IE,chrome,FF)
2010/05/22 Javascript
JS对象转换为Jquery对象实现代码
2013/12/29 Javascript
js实现的标题栏新消息闪烁提示效果
2014/06/06 Javascript
jQuery插件boxScroll实现图片轮播特效
2015/07/14 Javascript
搭建Bootstrap离线文档的方法
2016/12/02 Javascript
浅谈sass在vue注意的地方
2017/08/10 Javascript
ionic3 懒加载
2017/08/16 Javascript
JS库之Particles.js中文开发手册及参数详解
2017/09/13 Javascript
Vue实现带进度条的文件拖动上传功能
2018/02/23 Javascript
React和Vue中监听变量变化的方法
2018/11/14 Javascript
详解小程序input框失焦事件在提交事件前的处理
2019/05/05 Javascript
微信小程序wx.request的简单封装
2019/11/13 Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
2020/04/29 Javascript
在Uni中使用Vue的EventBus总线机制操作
2020/07/31 Javascript
python 判断一个进程是否存在
2009/04/09 Python
教你安装python Django(图文)
2013/11/04 Python
python中map、any、all函数用法分析
2015/04/21 Python
python字符串编码识别模块chardet简单应用
2015/06/15 Python
python实现rsa加密实例详解
2017/07/19 Python
Python3实现从排序数组中删除重复项算法分析
2019/04/03 Python
细数nn.BCELoss与nn.CrossEntropyLoss的区别
2020/02/29 Python
高清屏下canvas重置尺寸引发的问题的解决
2019/10/14 HTML / CSS
H&M美国官网:欧洲最大的服饰零售商
2016/09/07 全球购物
书法培训心得体会
2014/01/05 职场文书
学校领导班子四风问题整改意见
2014/10/02 职场文书
致地震灾区的慰问信
2015/03/23 职场文书
生死抉择观后感
2015/06/09 职场文书
2016年幼儿园教研活动总结
2016/04/05 职场文书
健身房被搭讪?用python写了个小米计时器助人为乐
2021/06/08 Python