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通过cookie模拟已登录状态的初步研究
Nov 09 Python
解决pycharm运行程序出现卡住scanning files to index索引的问题
Jun 27 Python
Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题
Jul 04 Python
33个Python爬虫项目实战(推荐)
Jul 08 Python
Python lxml模块的基本使用方法分析
Dec 21 Python
Python 实现网课实时监控自动签到、打卡功能
Mar 12 Python
PyQt5 如何让界面和逻辑分离的方法
Mar 24 Python
如何用python处理excel表格
Jun 09 Python
你需要学会的8个Python列表技巧
Jun 24 Python
10款最佳Python开发工具推荐,每一款都是神器
Oct 15 Python
Django权限控制的使用
Jan 07 Python
python 如何在list中找Topk的数值和索引
May 20 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+AJAX实现无刷新注册(带用户名实时检测)
2006/12/02 PHP
global.php
2006/12/09 PHP
PHP var_dump遍历对象属性的函数与应用代码
2010/06/04 PHP
PHP数据流应用的一个简单实例
2012/09/14 PHP
PHP实现根据图片色界在不同位置加水印的方法
2015/08/08 PHP
使用PHP进行微信公众平台开发的示例
2015/08/21 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
PHP使用redis位图bitMap 实现签到功能
2019/10/08 PHP
js静态作用域的功能。
2006/12/25 Javascript
node.js中的fs.createWriteStream方法使用说明
2014/12/17 Javascript
深入理解JavaScript的React框架的原理
2015/07/02 Javascript
JS获取input file绝对路径的方法(推荐)
2016/08/02 Javascript
剖析Angular Component的源码示例
2018/03/23 Javascript
浅谈在react中如何实现扫码枪输入
2018/07/04 Javascript
js中的数组对象排序分析
2018/12/11 Javascript
原生JS实现多条件筛选
2020/08/19 Javascript
python中使用enumerate函数遍历元素实例
2014/06/16 Python
在Python的一段程序中如何使用多次事件循环详解
2017/09/07 Python
Python处理中文标点符号大集合
2018/05/14 Python
python查看文件大小和文件夹内容的方法
2019/07/08 Python
python读取Excel表格文件的方法
2019/09/02 Python
Python SELENIUM上传文件或图片实现过程
2019/10/28 Python
Selenium元素定位的30种方式(史上最全)
2020/05/11 Python
解决Keyerror ''acc'' KeyError: ''val_acc''问题
2020/06/18 Python
推荐技术人员一款Python开源库(造数据神器)
2020/07/08 Python
Joe Fresh官网:加拿大时尚品牌和零售连锁店
2016/11/30 全球购物
学生干部学习的自我评价
2014/02/18 职场文书
运动会闭幕式解说词
2014/02/21 职场文书
房地产公司见习自我鉴定
2014/04/28 职场文书
七一党日活动总结
2014/07/08 职场文书
交通局领导班子群众路线教育实践活动对照检查材料思想汇报
2014/10/09 职场文书
师德师风整改措施
2014/10/24 职场文书
黑白记忆观后感
2015/06/18 职场文书
2016年度基层党建工作公开承诺书
2016/03/25 职场文书
使用numpy nonzero 找出非0元素
2021/05/14 Python
VS2019连接MySQL数据库的过程及常见问题总结
2021/11/27 MySQL