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进行基本的数据库操作。如果有更具体的问题或需要进一步的帮助,请继续提问!

相关推荐
2401_891409262 小时前
量化数据13:港股分钟K线、Level2逐笔Tick、十档盘口和港股通历史数据的批量提取
数据库
实名上网宋凯宣8 小时前
Django
后端·python·django
w-w0w-w9 小时前
SQL注入
网络·数据库·sql
tianyuanwo9 小时前
NetBox 数据库详解:当“关系型数据库”被装进一个网络运维的领域模型里
运维·数据库·netbox
一条泥憨鱼9 小时前
【计算机网络】短连接、长连接与连接池:从 TCP 握手到池化复用的完整链路
网络·数据库·网络协议·tcp/ip·计算机网络
如若1239 小时前
【论文复现】CoFailMed:从零复现医学图像分割的共享失败审计,含完整代码流程与科研绘图
人工智能·python
IvorySQL9 小时前
深入 PostgreSQL WAL:从崩溃恢复到逻辑复制
数据库·postgresql
利威尔xu10 小时前
Go IM 源码实战(14):本地缓存快 3000 倍,失效却难 10 倍
后端·缓存·微服务·面试·golang
幽灵诶10 小时前
Mysql(基于测试的学习)
数据库·mysql
砚底藏山河11 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融