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访问纯真IP数据库的代码
May 19 Python
详解C++编程中一元运算符的重载
Jan 19 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
Jan 07 Python
python用pandas数据加载、存储与文件格式的实例
Dec 07 Python
Python脚本修改阿里云的访问控制列表的方法
Mar 08 Python
2019 Python最新面试题及答案16道题
Apr 11 Python
python的pygal模块绘制反正切函数图像方法
Jul 16 Python
python3 写一个WAV音频文件播放器的代码
Sep 27 Python
TensorFlow Autodiff自动微分详解
Jul 06 Python
python中字符串的编码与解码详析
Dec 03 Python
pycharm 配置svn的图文教程(手把手教你)
Jan 15 Python
python 自动化偷懒的四个实用操作
Apr 11 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将数据导入到Foxmail
2006/10/09 PHP
php网页标题中文乱码的有效解决方法
2014/03/05 PHP
PHP 只允许指定IP访问(允许*号通配符过滤IP)
2014/07/08 PHP
php数组索引的Key加引号和不加引号的区别
2014/08/19 PHP
PHP基于单例模式实现的mysql类
2016/01/09 PHP
thinkPHP中session()方法用法详解
2016/12/08 PHP
Yii框架核心组件类实例详解
2019/08/06 PHP
javascript 静态对象和构造函数的使用和公私问题
2010/03/02 Javascript
JQuery 选项卡效果(JS与HTML的分离)
2010/04/01 Javascript
跨浏览器的 mouseenter mouseleave 以及 compareDocumentPosition的使用说明
2010/05/04 Javascript
一个简单的JavaScript数据缓存系统实现代码
2010/10/24 Javascript
基于jQuery的自动完成插件
2011/02/03 Javascript
js图片处理示例代码
2014/05/12 Javascript
javascript作用域链(Scope Chain)用法实例解析
2015/11/30 Javascript
JS中常用的输出方式(五种)
2016/06/12 Javascript
JavaScript学习笔记整理_用于模式匹配的String方法
2016/09/19 Javascript
详解JavaScript权威指南之对象
2016/09/27 Javascript
javascript中的后退和刷新实现方法
2016/11/10 Javascript
AngularJs每天学习之总体介绍
2017/08/07 Javascript
vue2.0 + element UI 中 el-table 数据导出Excel的方法
2018/03/02 Javascript
layui 实现表单和文件上传一起传到后台的例子
2019/09/16 Javascript
uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
2020/12/10 Javascript
详解Django缓存处理中Vary头部的使用
2015/07/24 Python
Python自动化运维和部署项目工具Fabric使用实例
2016/09/18 Python
Python获取CPU、内存使用率以及网络使用状态代码
2018/02/08 Python
python基于property()函数定义属性
2020/01/22 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
2020/05/09 Python
通过cmd进入python的步骤
2020/06/16 Python
计算机专业大学生的自我评价
2013/11/14 职场文书
机械设计专业应届生求职信
2013/11/21 职场文书
我的大学生活演讲稿
2014/04/25 职场文书
安全先进班组材料
2014/12/26 职场文书
写给媳妇的检讨书
2015/05/06 职场文书
2015法院个人工作总结范文
2015/05/25 职场文书
中秋节祝酒词
2015/08/12 职场文书
2016年五一劳动节专题校园广播稿
2015/12/17 职场文书