当前位置: 首页 > news >正文

Python 中调用 MySQL 数据库的学习文档

背景

在现代应用程序中,数据库是存储和管理数据的核心组件。MySQL 是一种流行的关系型数据库管理系统,广泛用于 Web 应用程序和数据分析。Python 提供了多种库来与 MySQL 数据库进行交互,最常用的包括 pymysql 和 MySQL Connector/Python。本文将介绍如何在 Python 中调用 MySQL 数据库,包括安装库、创建连接、执行查询和处理结果。

1. 安装所需库

在开始之前,您需要确保安装了与 MySQL 交互的库。以下是安装 pymysql 和 mysql-connector-python 的命令:

使用 pymysql

pip install pymysql

使用 mysql-connector-python

pip install mysql-connector-python

2. 创建数据库连接

在 Python 中,您需要创建一个与 MySQL 数据库的连接。以下是使用 pymysql 和 mysql-connector-python 创建连接的示例。

使用 pymysql

import pymysql

# 数据库连接参数

config = {

    'host': 'localhost',

    'user': 'dbuser',

    'password': 'your_password',

    'db': 'your_database',

    'charset': 'utf8',

}

# 创建连接

connection = pymysql.connect(**config)

使用 mysql-connector-python

import mysql.connector

# 创建连接

connection = mysql.connector.connect(

    host='localhost',

    user='dbuser',

    password='your_password',

    database='your_database'

)

3. 执行查询

一旦建立了连接,您可以使用游标对象来执行 SQL 查询。以下是执行查询的示例。

使用 pymysql

try:

    with connection.cursor() as cursor:

        # 执行 SQL 查询

        sql = "SELECT * FROM your_table"

        cursor.execute(sql)

        

        # 获取所有结果

        results = cursor.fetchall()

        for row in results:

            print(row)

finally:

    connection.close()  # 关闭连接

使用 mysql-connector-python

try:

    cursor = connection.cursor()

    # 执行 SQL 查询

    sql = "SELECT * FROM your_table"

    cursor.execute(sql)

    

    # 获取所有结果

    results = cursor.fetchall()

    for row in results:

        print(row)

finally:

    cursor.close()  # 关闭游标

    connection.close()  # 关闭连接

4. 插入数据

除了查询数据,您还可以插入数据到数据库中。以下是插入数据的示例。

使用 pymysql

try:

    with connection.cursor() as cursor:

        # 插入数据

        sql = "INSERT INTO your_table (column1, column2) VALUES (%s, %s)"

        cursor.execute(sql, ('value1', 'value2'))

        

    connection.commit()  # 提交事务

finally:

    connection.close()  # 关闭连接

使用 mysql-connector-python

try:

    cursor = connection.cursor()

    # 插入数据

    sql = "INSERT INTO your_table (column1, column2) VALUES (%s, %s)"

    cursor.execute(sql, ('value1', 'value2'))

    

    connection.commit()  # 提交事务

finally:

    cursor.close()  # 关闭游标

    connection.close()  # 关闭连接

5. 处理异常

在与数据库交互时,处理异常是非常重要的。您可以使用 try...except 块来捕获和处理可能发生的错误。

示例

try:

    connection = pymysql.connect(**config)

    with connection.cursor() as cursor:

        # 执行 SQL 查询

        sql = "SELECT * FROM your_table"

        cursor.execute(sql)

        results = cursor.fetchall()

        for row in results:

            print(row)

except pymysql.MySQLError as e:

    print(f"Error: {e}")

finally:

    connection.close()  # 确保连接被关闭

相关文章:

  • STM32MP157A单片机移植Linux驱动
  • 厦大团队:DeepSeek大模型概念、技术与应用实践 140页PDF完整版下载
  • 即插即用Transformer、扩散模型、机器人规划、长文本检索增强生成 | Big Model Weekly 第57期...
  • 【Android】ViewPager的使用
  • 简易教程|使用Ollama在本地部署大语言模型(Ollama+Deepseek_R1+OpenWebUI)
  • 无需服务器,浏览器跑700+AI模型?!
  • rtpengine and redis
  • Python中的Flask深入认知搭建前端页面?
  • Java 的 HttpClient 中使用 POST 请求传递参数
  • 【多线程-第三天-NSOperation的练习-tableView异步下载网络图片-下载操作缓存池 Objective-C语言】
  • Git 入门
  • 《深度学习实战》第2集-补充:卷积神经网络(CNN)与图像分类 实战代码解析和改进
  • 【接口封装】——13、登录窗口的标题栏内容设置
  • 基于Spring Boot的党员学习交流平台设计与实现(LW+源码+讲解)
  • 蓝桥杯学习笔记04-滑动窗口不定长(最短/最小)
  • 插入排序(详解)c++
  • 低功耗设计:(3)架构级优化
  • ChātGPT赋能的“SolidWorks工具箱”:重塑3D设计效率新标杆
  • 【Python LeetCode 专题】树
  • 动手学深度学习2025.2.23-预备知识之-线性代数
  • 湖南房产网/网站seo关键词优化排名
  • 做网站python和php哪个好学/如何设计一个网站页面
  • 建设政府网站多少钱/关键词排名优化公司哪家好
  • 网站维护与建设合同/关键词优化报价查询
  • 酷站网官网/完整的网页设计代码
  • 网站运营与维护是什么/新闻摘抄大全