python访问mysql

要在 Python 中访问 MySQL 数据库,通常会使用 mysql-connector-pythonpymysql 这两个库之一。以下是使用这两个库的基本示例:

使用 mysql-connector-python

  1. 安装库:

    bash 复制代码
    pip install mysql-connector-python
  2. 示例代码:

    python 复制代码
    import mysql.connector
    
    # 连接到 MySQL 数据库
    connection = mysql.connector.connect(
        host='localhost',       # 数据库主机
        user='your_username',   # 数据库用户名
        password='your_password', # 数据库密码
        database='your_database'  # 要连接的数据库名
    )
    
    # 创建一个游标对象
    cursor = connection.cursor()
    
    # 执行查询
    cursor.execute("SELECT * FROM your_table")
    
    # 获取查询结果
    results = cursor.fetchall()
    
    # 处理结果
    for row in results:
        print(row)
    
    # 关闭游标和连接
    cursor.close()
    connection.close()

使用 pymysql

  1. 安装库:

    bash 复制代码
    pip install pymysql
  2. 示例代码:

    python 复制代码
    import pymysql
    
    # 连接到 MySQL 数据库
    connection = pymysql.connect(
        host='localhost',       # 数据库主机
        user='your_username',   # 数据库用户名
        password='your_password', # 数据库密码
        database='your_database'  # 要连接的数据库名
    )
    
    # 创建一个游标对象
    cursor = connection.cursor()
    
    # 执行查询
    cursor.execute("SELECT * FROM your_table")
    
    # 获取查询结果
    results = cursor.fetchall()
    
    # 处理结果
    for row in results:
        print(row)
    
    # 关闭游标和连接
    cursor.close()
    connection.close()

注意事项

  • 安全性: 在生产环境中,不要将数据库凭据硬编码在代码中,考虑使用环境变量或配置文件来存储敏感信息。
  • 错误处理 : 代码中应加入适当的异常处理逻辑,例如 tryexcept 语句,以处理可能发生的错误。
相关推荐
历程里程碑6 分钟前
C++ 18智能指针:告别内存泄漏的利器
开发语言·c++
程序员佳佳17 分钟前
2025年大模型终极横评:GPT-5.2、Banana Pro与DeepSeek V3.2实战硬核比拼(附统一接入方案)
服务器·数据库·人工智能·python·gpt·api
qq_124987075329 分钟前
重庆三峡学院图书资料管理系统设计与实现(源码+论文+部署+安装)
java·spring boot·后端·mysql·spring·毕业设计
大学生资源网33 分钟前
java毕业设计之“知语”花卉销售网站的设计与实现源码(源代码+文档)
java·mysql·毕业设计·源码·springboot
刘某的Cloud1 小时前
列表、元组、字典、集合-组合数据类型
linux·开发语言·python
梁同学与Android1 小时前
Android ---【经验篇】ArrayList vs CopyOnWriteArrayList 核心区别,怎么选择?
android·java·开发语言
ys~~1 小时前
git学习
git·vscode·python·深度学习·学习·nlp·github
Mqh1807621 小时前
day46 Grad-CAM
python
ss2731 小时前
从零实现线程池:自定义线程池的工作线程设计与实现
java·开发语言·jvm