PyMySQL 是一个纯 Python 实现的 MySQL 客户端库,允许 Python 程序与 MySQL 数据库进行交互。它是一个非常轻量级且易于使用的库,适合在 Python 应用中进行数据库操作。本文将介绍 PyMySQL 的基本用法,并提供相关的代码示例。

安装 PyMySQL

在开始之前,确保安装了 PyMySQL。可以使用以下命令通过 pip 安装:

pip install PyMySQL

连接数据库

要使用 PyMySQL 进行数据库操作,首先需要建立与 MySQL 数据库的连接。通过下面的代码可以实现这一点:

import pymysql

# 建立数据库连接
connection = pymysql.connect(
    host='localhost',
    user='your_username',
    password='your_password',
    database='your_database',
    charset='utf8mb4',
    cursorclass=pymysql.cursors.DictCursor
)

在上述代码中,host 是数据库服务器的地址,user 是数据库账户名,password 是账户密码,database 是要连接的数据库名称。charset 参数指定字符集,而 cursorclass 指定光标类型为字典(以方便访问结果)。

创建表

在连接上数据库后,我们可以创建一张新表。例如,我们可以创建一个叫做“users”的表,存储用户的基本信息:

try:
    with connection.cursor() as cursor:
        # 创建新表
        sql = """
        CREATE TABLE IF NOT EXISTS users (
            id INT AUTO_INCREMENT PRIMARY KEY,
            username VARCHAR(100) NOT NULL,
            email VARCHAR(100) NOT NULL,
            created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
        )
        """
        cursor.execute(sql)
    connection.commit()
finally:
    connection.close()

以上代码使用 CREATE TABLE 语句创建了一张用户表,包含用户 ID、用户名、电子邮件和创建时间等字段。

插入数据

在表创建后,我们可以插入一些数据。以下代码示范了如何通过 PyMySQL 插入数据:

try:
    with connection.cursor() as cursor:
        # 插入数据
        sql = "INSERT INTO users (username, email) VALUES (%s, %s)"
        values = [
            ('alice', 'alice@example.com'),
            ('bob', 'bob@example.com')
        ]
        cursor.executemany(sql, values)
    connection.commit()
finally:
    connection.close()

在这里,我们使用 INSERT INTO 语句插入数据,并使用 executemany 方法一次性插入多个记录。

查询数据

插入数据后,接下来可以查询这些数据并进行操作:

try:
    with connection.cursor() as cursor:
        # 查询数据
        sql = "SELECT * FROM users"
        cursor.execute(sql)
        result = cursor.fetchall()
        for user in result:
            print(user)
finally:
    connection.close()

上述代码通过 SELECT 语句查询用户表中的所有记录,并使用 fetchall() 方法获取所有结果。然后,通过循环将每个用户的信息打印出来。

更新和删除数据

除了插入和查询,PyMySQL 还支持更新和删除数据。以下是如何更新用户电子邮件的示例:

try:
    with connection.cursor() as cursor:
        # 更新数据
        sql = "UPDATE users SET email = %s WHERE username = %s"
        cursor.execute(sql, ('new_email@example.com', 'alice'))
    connection.commit()
finally:
    connection.close()

对于删除操作,可以使用如下代码:

try:
    with connection.cursor() as cursor:
        # 删除数据
        sql = "DELETE FROM users WHERE username = %s"
        cursor.execute(sql, ('bob',))
    connection.commit()
finally:
    connection.close()

总结

通过本文的介绍,我们了解了如何使用 PyMySQL 库与 MySQL 数据库进行交互。我们演示了连接数据库、创建表、插入数据、查询数据、更新和删除数据的基本操作。PyMySQL 是与 MySQL 进行操作的一个非常强大且易用的工具,非常适合 Python 开发者在项目中使用。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部