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装饰器decorator用法实例
Nov 10 Python
Python标准库urllib2的一些使用细节总结
Mar 16 Python
Python获取任意xml节点值的方法
May 05 Python
Django视图之ORM数据库查询操作API的实例
Oct 27 Python
基于python 二维数组及画图的实例详解
Apr 03 Python
numpy concatenate数组拼接方法示例介绍
May 27 Python
django ListView的使用 ListView中获取url中的参数值方式
Mar 27 Python
keras自定义损失函数并且模型加载的写法介绍
Jun 15 Python
Scrapy框架介绍之Puppeteer渲染的使用
Jun 19 Python
python调用百度API实现人脸识别
Nov 17 Python
Python 随机按键模拟2小时
Dec 30 Python
python利用pandas分析学生期末成绩实例代码
Jul 09 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
如何开始收听短波广播
2021/03/01 无线电
浅谈Windows下 PHP4.0与oracle 8的连接设置
2006/10/09 PHP
我的论坛源代码(七)
2006/10/09 PHP
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
2007/09/02 PHP
php使用post数组的键值创建同名变量并赋值的方法
2015/04/03 PHP
Laravel 中获取上一篇和下一篇数据
2015/07/27 PHP
PHP序列化操作方法分析
2016/09/28 PHP
详解yii2实现分库分表的方案与思路
2017/02/03 PHP
php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
2020/03/02 PHP
Node.js开源应用框架HapiJS介绍
2015/01/14 Javascript
jquery实现简单手风琴菜单效果实例
2015/06/13 Javascript
Bootstrap每天必学之前端开发框架
2015/11/19 Javascript
基于javascript实现全国省市二级联动下拉选择菜单
2016/01/28 Javascript
安装使用Mongoose配合Node.js操作MongoDB的基础教程
2016/03/01 Javascript
分享javascript、jquery实用代码段
2016/10/20 Javascript
JS实现淡入淡出图片效果的方法分析
2016/12/20 Javascript
Vue 过渡实现轮播图效果
2017/03/27 Javascript
JavaScript实现分页效果
2017/03/28 Javascript
浅析前端路由简介以及vue-router实现原理
2018/06/01 Javascript
Vue使用lodop实现打印小结
2019/07/06 Javascript
微信小程序官方动态自定义底部tabBar的例子
2019/09/04 Javascript
vue实现设置载入动画和初始化页面动画效果
2019/10/28 Javascript
小程序接口的promise化的实现方法
2019/12/11 Javascript
JS数组降维的实现Array.prototype.concat.apply([], arr)
2020/04/28 Javascript
解决Vue-Router升级导致的Uncaught (in promise)问题
2020/08/07 Javascript
js实现淘宝浏览商品放大镜功能
2020/10/28 Javascript
JS数组索引检测中的数据类型问题详解
2021/01/11 Javascript
Python类属性与实例属性用法分析
2015/05/09 Python
实例讲解Python中SocketServer模块处理网络请求的用法
2016/06/28 Python
Python 实现取多维数组第n维的前几位
2019/11/26 Python
python实现两个字典合并,两个list合并
2019/12/02 Python
豆腐の盛田屋官网:日本自然派的豆乳面膜、肥皂、化妆水、乳液等
2016/10/08 全球购物
解释DataSet(ds) 和 ds as DataSet 的含义
2014/07/27 面试题
企业厂务公开实施方案
2014/03/26 职场文书
云台山导游词
2015/02/03 职场文书
太空授课观后感
2015/06/17 职场文书