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 相关文章推荐
windows下python安装paramiko模块和pycrypto模块(简单三步)
Jul 06 Python
Python使用Django实现博客系统完整版
Sep 29 Python
python 限制函数调用次数的实例讲解
Apr 21 Python
Python实现的线性回归算法示例【附csv文件下载】
Dec 29 Python
Django REST framework 分页的实现代码
Jun 19 Python
Python3离线安装Requests模块问题
Oct 13 Python
Python for循环及基础用法详解
Nov 08 Python
pytorch实现从本地加载 .pth 格式模型
Feb 14 Python
Python爬虫实现百度翻译功能过程详解
May 29 Python
Python远程方法调用实现过程解析
Jul 28 Python
利用Python优雅的登录校园网
Oct 21 Python
python编程简单几行代码实现视频转换Gif示例
Oct 05 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函数代码
2010/04/22 PHP
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题
2015/03/27 PHP
基于Jquery的动态添加控件并取值的实现代码
2010/09/24 Javascript
使用jQuery清空file文件域的解决方案
2013/04/12 Javascript
jquery属性选择器not has怎么写 行悬停高亮显示
2013/11/13 Javascript
利用JavaScript检测CPU使用率自己写的
2014/03/22 Javascript
js写出遮罩层登陆框和对联广告并自动跟随滚动条滚动
2014/04/29 Javascript
使用jQuery.Qrcode插件在客户端动态生成二维码并添加自定义Logo
2016/09/01 Javascript
js制作可以延时消失的菜单
2017/01/13 Javascript
详解React中的组件通信问题
2017/07/31 Javascript
BootStrap 标题设置跨行无效的解决方法
2017/10/25 Javascript
对vue 键盘回车事件的实例讲解
2018/08/25 Javascript
35个最好用的Vue开源库(史上最全)
2019/01/03 Javascript
[49:35]KG vs SECRET 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
Python安装pycurl失败的解决方法
2018/10/15 Python
在python中bool函数的取值方法
2018/11/01 Python
解决python3 pika之连接断开的问题
2018/12/18 Python
python修改字典键(key)的方法
2019/08/05 Python
3种适用于Python的疯狂秘密武器及原因解析
2020/04/29 Python
Python 如何创建一个简单的REST接口
2020/07/30 Python
python调用摄像头的示例代码
2020/09/28 Python
CSS3实现文本垂直排列的方法
2018/07/10 HTML / CSS
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
2013/01/06 HTML / CSS
OSPREY LONDON官网:英国本土皮具品牌
2019/05/31 全球购物
软件设计的目标是什么
2016/12/04 面试题
配件采购员岗位职责
2013/12/03 职场文书
运动会800米加油稿
2014/02/22 职场文书
建议书标准格式
2014/03/12 职场文书
毕业自我鉴定怎么写
2014/03/25 职场文书
2014年办公室个人工作总结
2014/11/12 职场文书
观看《信仰》心得体会
2016/01/15 职场文书
pytorch 如何把图像数据集进行划分成train,test和val
2021/05/31 Python
html css3不拉伸图片显示效果
2021/06/07 HTML / CSS
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
2021/11/11 Python
MySQL GTID复制的具体使用
2022/05/20 MySQL
Win11如何默认打开软件界面最大化?Win11默认打开软件界面最大化的方法
2022/07/15 数码科技