Python知识点:如何使用MySQL与PyMySQL进行数据库操作

使用MySQL与PyMySQL进行数据库操作的过程与使用PostgreSQL与Psycopg2类似。以下是一个简单的指南,介绍如何使用PyMySQL连接到MySQL数据库并进行基本的数据库操作。

1. 安装PyMySQL

首先,你需要安装PyMySQL库。如果还未安装,可以使用以下命令进行安装:

bash 复制代码
pip install pymysql

2. 连接到MySQL数据库

使用pymysql.connect方法来创建一个连接对象。

python 复制代码
import pymysql

# 创建数据库连接
connection = pymysql.connect(
    host='localhost',       # 数据库主机地址
    user='your_username',    # 数据库用户名
    password='your_password',# 数据库密码
    database='your_database_name'  # 数据库名称
)

# 创建游标对象
cursor = connection.cursor()

3. 执行SQL查询

使用游标对象,你可以执行SQL查询,例如创建表、插入数据、查询数据等。

创建表
python 复制代码
create_table_query = '''
CREATE TABLE employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    age INT,
    department VARCHAR(100)
)
'''
cursor.execute(create_table_query)
connection.commit()  # 提交操作
插入数据
python 复制代码
insert_query = '''
INSERT INTO employees (name, age, department)
VALUES (%s, %s, %s)
'''
data_to_insert = ('Jane Doe', 28, 'Finance')
cursor.execute(insert_query, data_to_insert)
connection.commit()
查询数据
python 复制代码
select_query = '''
SELECT * FROM employees
'''
cursor.execute(select_query)
rows = cursor.fetchall()

for row in rows:
    print(row)
更新数据
python 复制代码
update_query = '''
UPDATE employees
SET department = %s
WHERE name = %s
'''
cursor.execute(update_query, ('Marketing', 'Jane Doe'))
connection.commit()
删除数据
python 复制代码
delete_query = '''
DELETE FROM employees
WHERE name = %s
'''
cursor.execute(delete_query, ('Jane Doe',))
connection.commit()

4. 关闭连接

操作完成后,记得关闭游标和连接。

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

5. 异常处理

建议使用异常处理来应对连接或查询中的错误。

python 复制代码
try:
    connection = pymysql.connect(
        host='localhost',
        user='your_username',
        password='your_password',
        database='your_database_name'
    )
    cursor = connection.cursor()

    # 执行查询或操作
    cursor.execute("SELECT VERSION();")
    db_version = cursor.fetchone()
    print("Database version:", db_version)

except Exception as error:
    print(f"Error: {error}")
finally:
    if cursor:
        cursor.close()
    if connection:
        connection.close()

通过这些步骤,你可以使用PyMySQL与MySQL进行基本的数据库操作。如果有更具体的问题或需要进一步的帮助,请继续提问!

相关推荐
宿州派大星17 分钟前
Python实战:PyQt5 + OpenCV + Dlib 打造AI桌面应用
人工智能·python·qt
承渊政道1 小时前
【从零开始大模型开发与微调:基于PyTorch与ChatGLM】(开源大模型ChatGLM高级定制化应用实战)
人工智能·pytorch·python·llm·模型微调·glm
AIgorithmGEEK6 小时前
MySQL 索引全解(下):建、查、删实战与知识速查表
数据库·mysql·b+树·索引
怕浪猫7 小时前
2028编程圈很火的10个Skills
算法·面试·github
Smoothcloud润云8 小时前
PyTorch大模型权重加载与启动耗时优化实战:定位磁盘、内存与显存瓶颈
人工智能·pytorch·python·深度学习·gpu算力
databook8 小时前
从循环到向量化:NumPy提速的7个关键思维
python·数据分析·numpy
唠点键盘之外的8 小时前
26 向量数据库实战:从 0 搭一条能用的检索链路(pgvector + Spring AI)
数据库·人工智能·spring
云和恩墨8 小时前
数据库监控简史:监控不止于告警——从图表大爆发到健康管理闭环
数据库
ly76898 小时前
MongoDB 事务开销实测:快照隔离下的写冲突、重试与分片事务边界
数据库·mongodb·事务·分片集群·快照隔离·写冲突
棉猴8 小时前
玩游戏学Python1-Python和pgzero库的安装
python·pygame·玩游戏·pgzero·pgzrun