Python如何读取MySQL数据库:从连接到数据查询的完整指南
Python读取MySQL数据库的核心方法是使用mysql-connector-python或PyMySQL等第三方库,通过建立连接、执行SQL语句并获取结果来实现数据交互。 以下将详细介绍从环境配置到实际操作的完整步骤,帮助您快速掌握Python与MySQL的数据读取技巧。
环境准备与库安装
首先确保已安装Python(建议3.6以上版本)和MySQL数据库,常用的MySQL连接库有:

mysql-connector-python(官方驱动)PyMySQL(纯Python实现)SQLAlchemy(ORM工具)
通过pip安装驱动库(以mysql-connector为例):
pip install mysql-connector-python
建立数据库连接
使用connect()函数创建连接对象,需提供主机、用户名、密码和数据库名等参数:
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="your_username",
password="your_password",
database="your_database"
)
注意:生产环境中应将敏感信息存储在环境变量或配置文件中。
创建游标执行查询
连接成功后创建游标对象,用于执行SQL语句:
cursor = conn.cursor()
cursor.execute("SELECT * FROM employees")
游标是数据库操作的关键接口,支持数据遍历和结果获取。
获取查询结果
根据需求选择不同的结果获取方式:
fetchall():获取所有行fetchone():获取下一行fetchmany(size):获取指定数量行
# 获取全部数据
rows = cursor.fetchall()
for row in rows:
print(row)
# 获取列名信息
column_names = [desc[0] for desc in cursor.description]
使用参数化查询
为防止SQL注入,务必使用参数化查询:
# 安全的方式
query = "SELECT * FROM products WHERE category = %s AND price > %s"
cursor.execute(query, ('Electronics', 100))
将数据转换为Pandas DataFrame
对于数据分析场景,可结合Pandas处理结果:
import pandas as pd
df = pd.read_sql("SELECT * FROM sales", conn)
print(df.head())
完整示例代码
import mysql.connector
import pandas as pd
def read_mysql_data():
try:
# 建立连接
conn = mysql.connector.connect(
host="localhost",
user="test_user",
password="secure_pass",
database="company_db"
)
# 执行查询
query = "SELECT id, name, department FROM employees WHERE active = %s"
df = pd.read_sql(query, conn, params=(1,))
print(f"读取到{len(df)}条记录")
return df
except mysql.connector.Error as err:
print(f"数据库错误: {err}")
finally:
if 'conn' in locals() and conn.is_connected():
conn.close()
连接池与性能优化
对于高频查询应用,建议使用连接池提升性能:
from mysql.connector import pooling
connection_pool = pooling.MySQLConnectionPool(
pool_name="mypool",
pool_size=5,
**db_config
)
错误处理与资源释放
务必确保连接正确关闭,避免资源泄漏:
try:
conn = mysql.connector.connect(**config)
# 执行操作
except mysql.connector.Error as e:
print(f"错误代码: {e.errno}, 错误信息: {e.msg}")
finally:
if conn.is_connected():
cursor.close()
conn.close()
Python读取MySQL数据库主要涉及连接建立、SQL执行和结果处理三个核心环节。关键要点包括:选择适合的驱动库、使用参数化查询确保安全、及时释放连接资源,以及根据场景选择合适的数据获取方式,掌握这些基础操作后,可进一步学习ORM框架或异步查询等高级特性,构建更高效的数据应用。
未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网。
原文地址:https://www.html4.cn/14692.html发布于:2026-09-03





