PyMySQL库的使用方法

过程和步骤:

安装 PyMySQL

首先,需要使用 pip 安装 PyMySQL 库:

bash 复制代码
pip install pymysql

连接数据库

使用 PyMySQL.connect() 方法可以建立到 MySQL 数据库的连接:

python 复制代码
import pymysql

# 配置数据库连接参数
config = {
    'host': 'localhost',     # 数据库服务器地址
    'port': 3306,            # 数据库服务器端口
    'user': 'your_username', # 数据库用户名
    'password': 'your_password', # 数据库密码
    'database': 'your_database', # 要操作的数据库名
    'charset': 'utf8mb4'     # 使用的字符集
}

# 建立连接
connection = pymysql.connect(**config)

创建游标对象

游标(Cursor)用于执行 SQL 语句和获取查询结果:

python 复制代码
# 创建游标对象
cursor = connection.cursor()

执行 SQL 语句

使用游标的 execute() 方法可以执行 SQL 语句:

python 复制代码
# 执行查询语句
cursor.execute("SELECT * FROM your_table")

# 获取所有查询结果
results = cursor.fetchall()
for row in results:
    print(row)

# 执行非查询语句(如 INSERT、UPDATE、DELETE)
cursor.execute("INSERT INTO your_table (column1, column2) VALUES (value1, value2)")

提交事务

对于非查询类的 SQL 语句,需要提交事务以确保更改生效:

python 复制代码
connection.commit()

错误处理

使用 try...except 语句来处理可能发生的异常:

python 复制代码
try:
    # 尝试执行一些操作
    pass
except pymysql.MySQLError as e:
    print(e)
    connection.rollback()  # 发生错误时回滚事务
finally:
    cursor.close()  # 关闭游标
    connection.close()  # 关闭连接

关闭连接

操作完成后,应关闭游标和数据库连接:

python 复制代码
cursor.close()
connection.close()

示例代码

下面是一个使用 PyMySQL 执行查询和插入操作的完整示例:

python 复制代码
import pymysql

# 配置数据库连接参数
config = {
    'host': 'localhost',
    'port': 3306,
    'user': 'your_username',
    'password': 'your_password',
    'database': 'your_database',
    'charset': 'utf8mb4'
}

# 建立连接
connection = pymysql.connect(**config)

try:
    # 创建游标对象
    with connection.cursor() as cursor:
        # 执行查询
        cursor.execute("SELECT * FROM your_table")
        print("Query results:", cursor.fetchall())

        # 执行插入操作
        cursor.execute("INSERT INTO your_table (column1, column2) VALUES (%s, %s)", ('value1', 'value2'))

    # 提交事务
    connection.commit()

except pymysql.MySQLError as e:
    print("Error: ", e)
    connection.rollback()
finally:
    # 关闭连接
    connection.close()

请注意,上述示例中的 'your_username', 'your_password', 'your_database''your_table' 需要替换为实际的数据库登录信息和表名。

相关推荐
betazhou12 分钟前
mysql shell8.4.10+mysql 8.4.10搭建MySQL replicaset主从
数据库·mysql·ffmpeg·replicaset·mysql shell
zcmodeltech33 分钟前
反应装置模型控制系统设计与实现:多设备协同联动方案
java·网络·数据库·stm32·嵌入式硬件·能源·制造
Elastic 中国社区官方博客42 分钟前
从建议到修复的 4 个阶段:使用 Elastic Workflows 实现人在回路中的自动化
运维·数据库·人工智能·后端·elasticsearch·ai·自动化
淡海水1 小时前
05-03-栈队列-PriorityQueue-TElement-TPriority-NET6优先队列语义与四叉堆实现
服务器·前端·c#·priorityqueue·clr·telement
土星云SaturnCloud1 小时前
大型仓储AI视觉全场景落地实战:安全·效率·库存,32TOPS土星云边缘算力赋能分区部署
服务器·人工智能·ai·边缘计算
jing.wang_20251 小时前
制作一个带用户操作界面的精简Linux操作系统
linux·服务器
北京靠谱的GEO优化机构1 小时前
海外推广:没有媒体内容,SEO就是“无米之炊“
服务器·数据库·媒体
2601_962071571 小时前
数据库系统架构与DBMS功能探微:现代信息时代数据管理的关键
java·开发语言·数据库
circuitsosk1 小时前
从零搭建行业知识平台:向量库+图数据库+传统关系库的多模检索统一层设计
数据库·python·oracle·向量数据库·rag·多模检索
程序员夏洛1 小时前
Redis 中如何实现分布式锁?
数据库·redis·分布式