Python连接MySQL数据库并读取数据的完整指南
本文详细介绍如何使用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内容请搜索本站以前的文章或继续浏览下面的相关文章,希望大家以后多多支持本站!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









