Python3连接MySQL的完整指南

Python3连接MySQL数据库的核心方法是使用第三方库mysql-connector-pythonPyMySQL,通过简单的几步配置即可实现稳定连接。 确保已安装Python3和MySQL数据库,然后通过pip安装连接库,最后在代码中配置连接参数即可开始操作数据库。

安装必要的库

在连接MySQL之前,需要安装合适的Python库,最常用的两个选择是:

python3怎么连接mysql,Python3高效连接MySQL指南

  • mysql-connector-python:MySQL官方提供的连接器
  • PyMySQL:纯Python实现的MySQL客户端

使用pip安装(任选其一):

# 安装mysql-connector-python
pip install mysql-connector-python
# 或安装PyMySQL
pip install PyMySQL

基本连接步骤

以下以mysql-connector-python为例,展示连接MySQL的基本代码:

import mysql.connector
# 配置数据库连接参数
config = {
    'host': 'localhost',      # 数据库主机地址
    'user': 'your_username',  # 数据库用户名
    'password': 'your_password',  # 数据库密码
    'database': 'your_database',  # 要连接的数据库名
    'port': 3306              # MySQL默认端口
}
try:
    # 建立数据库连接
    connection = mysql.connector.connect(**config)
    if connection.is_connected():
        print("成功连接到MySQL数据库!")
        # 创建游标对象
        cursor = connection.cursor()
        # 执行SQL查询示例
        cursor.execute("SELECT VERSION()")
        # 获取查询结果
        result = cursor.fetchone()
        print(f"MySQL版本: {result[0]}")
except mysql.connector.Error as err:
    print(f"连接错误: {err}")
finally:
    # 关闭连接
    if 'connection' in locals() and connection.is_connected():
        cursor.close()
        connection.close()
        print("数据库连接已关闭")

使用PyMySQL连接

如果选择PyMySQL,连接方式略有不同:

import pymysql
# 建立连接
connection = pymysql.connect(
    host='localhost',
    user='your_username',
    password='your_password',
    database='your_database',
    charset='utf8mb4',
    cursorclass=pymysql.cursors.DictCursor  # 返回字典格式的结果
)
try:
    with connection.cursor() as cursor:
        # 执行SQL语句
        sql = "SELECT * FROM your_table LIMIT 5"
        cursor.execute(sql)
        # 获取结果
        results = cursor.fetchall()
        for row in results:
            print(row)
finally:
    connection.close()

连接参数详解

关键连接参数包括:

  • host:MySQL服务器地址(本地为localhost0.0.1
  • user:登录用户名
  • password:登录密码
  • database:要连接的数据库名称
  • port:MySQL服务端口(默认3306)
  • charset:字符编码(推荐utf8mb4

连接池技术

对于需要频繁连接数据库的应用,建议使用连接池提高性能:

from mysql.connector import pooling
# 创建连接池
connection_pool = pooling.MySQLConnectionPool(
    pool_name="mypool",
    pool_size=5,  # 连接池大小
    **config
)
# 从连接池获取连接
connection = connection_pool.get_connection()

常见问题解决

  1. 连接被拒绝:检查MySQL服务是否启动,用户名密码是否正确
  2. 找不到数据库:确认database参数指定的数据库是否存在
  3. 编码问题:添加charset='utf8mb4'参数支持中文
  4. 权限不足:确保用户有连接指定数据库的权限

最佳实践建议

  1. 始终使用异常处理:确保连接失败时程序能优雅处理
  2. 及时关闭连接:使用完毕后显式关闭连接,避免资源泄露
  3. 使用上下文管理器:Python的with语句可自动管理连接生命周期
  4. 敏感信息保护:不要将数据库密码硬编码在代码中,使用环境变量或配置文件

通过以上步骤,您可以轻松地在Python3中连接并操作MySQL数据库,根据具体需求选择合适的连接库,遵循最佳实践,就能构建稳定高效的数据应用。

未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网

原文地址:https://www.html4.cn/6604.html发布于:2026-07-24