Python连接MySQL数据库并读取数据的完整指南

栗子
栗子
发布时间:2026-10-14| 3人浏览过
原创

本文详细介绍如何使用Python通过pymysql库连接MySQL数据库。内容涵盖环境安装、连接参数配置、利用pandas read_sql及游标cursor两种方式读取数据,以及插入、更新、删除等事务处理与结果获取方法,帮助开发者快速实现数据库交互。

环境安装与版本说明

首先,需要在环境中安装pymysql包。


pip install pymysql

注意:MySQLdb仅支持Python 2,而pymysql适用于Python 3。

数据库连接配置

接下来进行数据库连接操作。


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'。

数据读取与游标操作详解

第三步是读取数据库中的数据。

方法一:使用read_sql函数读取数据。


sql = 'select * from testa'
data = pd.read_sql(sql, conn)

方法二:使用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属性:

  • 用于返回执行操作所影响的行数。

连接关闭与总结

最后,完成操作后需关闭数据库连接。


conn.close()

至此,关于Python连接MySQL数据库并读取数据的实现介绍完毕,更多相关Python连接MySQL内容请搜索本站以前的文章或继续浏览下面的相关文章,希望大家以后多多支持本站!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。