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压缩和解压缩zip文件
Feb 14 Python
python实现的用于搜索文件并进行内容替换的类实例
Jun 28 Python
详解如何利用Cython为Python代码加速
Jan 27 Python
python异步存储数据详解
Mar 19 Python
python利用tkinter实现屏保
Jul 30 Python
Pytorch卷积层手动初始化权值的实例
Aug 17 Python
Python使用循环神经网络解决文本分类问题的方法详解
Jan 16 Python
opencv python如何实现图像二值化
Feb 03 Python
django 解决自定义序列化返回处理数据为null的问题
May 20 Python
使用Python pip怎么升级pip
Aug 11 Python
Python爬取微信小程序Charles实现过程图解
Sep 29 Python
聊聊python在linux下与windows下导入模块的区别说明
Mar 03 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
《五等分的花嫁》漫画完结!2020年10月第2期TV动画制作组换血!
2020/03/06 日漫
PHP 抓取网页图片并且另存为的实现代码
2010/03/24 PHP
解析php二分法查找数组是否包含某一元素
2013/05/23 PHP
PHP生成随机密码方法汇总
2015/08/27 PHP
php实现xml与json之间的相互转换功能实例
2016/07/07 PHP
php使用str_shuffle()函数生成随机字符串的方法分析
2017/02/17 PHP
PHP封装curl的调用接口及常用函数详解
2018/05/31 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
2019/10/21 PHP
JQuery+JS实现仿百度搜索结果中关键字变色效果
2011/08/02 Javascript
关于jquery性能最佳实践的讨论,与求教
2012/03/30 Javascript
JS实现跟随鼠标的链接文字提示框效果
2015/08/06 Javascript
JavaScript 性能优化小结
2015/10/12 Javascript
使用JS轻松实现ionic调用键盘搜索功能(超实用)
2016/09/06 Javascript
js原生之焦点图转换加定时器实例
2016/12/12 Javascript
JS闭包可被利用的常见场景小结
2017/04/09 Javascript
Bootstrap下拉菜单更改为悬停(hover)触发的方法
2017/05/24 Javascript
JavaScript高阶函数_动力节点Java学院整理
2017/06/28 Javascript
基于jQuery实现的Ajax 验证用户名唯一性实例代码
2017/06/28 jQuery
nodejs微信扫码支付功能实现
2018/02/17 NodeJs
详解angular2 控制视图的封装模式
2018/12/27 Javascript
原生js实现抽奖小游戏
2019/06/27 Javascript
小程序卡片切换效果组件wxCardSwiper的实现
2020/02/13 Javascript
解决Vue大括号字符换行踩的坑
2020/11/09 Javascript
[00:35]DOTA2上海特级锦标赛 VP战队宣传片
2016/03/04 DOTA
使用 Django Highcharts 实现数据可视化过程解析
2019/07/31 Python
安装多个版本的TensorFlow的方法步骤
2020/04/21 Python
Python astype(np.float)函数使用方法解析
2020/06/08 Python
销售人员中英文自荐信
2013/09/22 职场文书
电脑销售顾问自荐信
2014/01/29 职场文书
《值日生》教学反思
2014/02/17 职场文书
如何写早恋检讨书
2014/09/10 职场文书
建设工程授权委托书
2014/09/22 职场文书
关于对大人不礼貌的检讨书
2014/09/29 职场文书
大学生逃课检讨书
2015/05/04 职场文书
小学六一主持词开场白
2015/05/28 职场文书
Python线程池与GIL全局锁实现抽奖小案例
2022/04/13 Python