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线程锁(thread)学习示例
Dec 04 Python
python实现从字符串中找出字符1的位置以及个数的方法
Aug 25 Python
Python实现在Linux系统下更改当前进程运行用户
Feb 04 Python
Python定时器实例代码
Nov 01 Python
Python通过matplotlib画双层饼图及环形图简单示例
Dec 15 Python
Python决策树和随机森林算法实例详解
Jan 30 Python
Python实现全排列的打印
Aug 18 Python
分享PyCharm的几个使用技巧
Nov 10 Python
如何在keras中添加自己的优化器(如adam等)
Jun 19 Python
理解Django 中Call Stack机制的小Demo
Sep 01 Python
python生成可执行exe控制Microsip自动填写号码并拨打功能
Jun 21 Python
如何在python中实现ECDSA你知道吗
Nov 23 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版小黄鸡simsimi聊天机器人接口分享
2014/01/26 PHP
Drupal读取Excel并导入数据库实例
2014/03/02 PHP
CSS常用网站布局实例
2008/04/03 Javascript
jQuery Ajax 全解析
2009/02/08 Javascript
js Date自定义函数 延迟脚本执行
2010/03/10 Javascript
Jsonp 跨域的原理以及Jquery的解决方案
2011/06/27 Javascript
js 自定义个性下拉选择框示例
2013/08/20 Javascript
用JavaScript实现使用鼠标画线的示例代码
2014/08/19 Javascript
jquery常用方法及使用示例汇总
2014/11/08 Javascript
javascript动态设置样式style实例分析
2015/05/13 Javascript
基于JavaScript实现淘宝商品广告效果
2017/08/10 Javascript
VueJs组件prop验证简单介绍
2017/09/12 Javascript
手把手教你写一个微信小程序(推荐)
2018/10/17 Javascript
vue中slot(插槽)的介绍与使用
2018/11/12 Javascript
Vue CLI3基础学习之pages构建多页应用
2019/06/02 Javascript
如何通过javaScript去除字符串两端的空白字符
2020/02/06 Javascript
Vue+element+cookie记住密码功能的简单实现方法
2020/09/20 Javascript
[06:50]DSPL次级职业联赛十强晋级之路
2014/11/18 DOTA
[50:28]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs KG
2018/04/01 DOTA
[02:03]风行者至宝清风环佩外观展示
2020/09/05 DOTA
Python自动化测试ConfigParser模块读写配置文件
2016/08/15 Python
python3 assert 断言的使用详解 (区别于python2)
2019/11/27 Python
Python 支持向量机分类器的实现
2020/01/15 Python
Python爬虫爬取百度搜索内容代码实例
2020/06/05 Python
Python监听剪切板实现方法代码实例
2020/11/11 Python
python爬取抖音视频的实例分析
2021/01/19 Python
python opencv实现图像配准与比较
2021/02/09 Python
使用分层画布来优化HTML5渲染的教程
2015/05/08 HTML / CSS
巴西购物网站:Estrela10
2018/12/13 全球购物
海南地接欢迎词
2014/01/14 职场文书
经典商业广告词
2014/03/13 职场文书
产假请假条
2014/04/10 职场文书
学校德育工作总结2015
2015/05/11 职场文书
小学教学工作总结2015
2015/05/13 职场文书
用position:sticky完美解决小程序吸顶问题的实现方法
2021/04/24 HTML / CSS
Mysql实现主从配置和多主多从配置
2021/06/02 MySQL