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

相关推荐
CLO_se_14 分钟前
嵌入式软件面试八股文
linux·面试
爱分享的程序员21 分钟前
前端面试专栏-前沿技术:31.Serverless与云原生开发
前端·javascript·面试
qq_4639448640 分钟前
如何把Excel文件导入Navicat?
数据库·excel
不太厉害的程序员42 分钟前
Excel 将数据导入到SQLServer数据库
数据库·sqlserver·excel
awonw1 小时前
[python][基础]Flask 技术栈
开发语言·python·flask
bright_colo1 小时前
Python-初学openCV——图像预处理(四)——滤波器
python·opencv·计算机视觉
Nandeska1 小时前
一、Python环境、Jupyter与Pycharm
python·jupyter·pycharm
张元清2 小时前
什么是React并发模式中的Tearing(撕裂)
前端·面试
绝无仅有2 小时前
Redis 服务挂掉排查与解决
后端·面试·github