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 开发者在项目中使用。