使用PyMySQL执行多个SQL语句
在Python中,我们可以使用PyMySQL
库连接MySQL数据库并执行SQL语句。本文将介绍如何在PyMySQL
中执行多个SQL语句,包括创建数据库、创建表、插入数据、查询数据等操作,并提供相应的代码示例。
安装PyMySQL
如果尚未安装PyMySQL
,可以通过以下命令进行安装:
pip install pymysql
示例代码
我们将用一个示例程序来展示如何在数据库中执行多个语句。假设我们要创建一个名为test_db
的数据库,创建一个users
表,并插入几条记录。
import pymysql
# 连接到数据库
connection = pymysql.connect(
host='localhost',
user='your_username',
password='your_password'
)
# 使用open事务
try:
with connection.cursor() as cursor:
# 创建数据库
cursor.execute("CREATE DATABASE IF NOT EXISTS test_db")
# 使用新创建的数据库
cursor.execute("USE test_db")
# 创建表
cursor.execute("""
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL
)
""")
# 插入数据
insert_sql = "INSERT INTO users (username, email) VALUES (%s, %s)"
users = [
('Alice', 'alice@example.com'),
('Bob', 'bob@example.com'),
('Charlie', 'charlie@example.com')
]
cursor.executemany(insert_sql, users)
# 提交事务
connection.commit()
# 查询数据
with connection.cursor() as cursor:
cursor.execute("SELECT * FROM users")
result = cursor.fetchall()
for row in result:
print(row)
except Exception as e:
print(f"发生错误: {e}")
connection.rollback()
finally:
connection.close()
代码解读
- 连接到数据库:首先,使用
pymysql.connect
连接到MySQL数据库。 - 事务处理:使用
try
语句来处理异常,确保在出现错误时可以回滚事务。 - 执行多个SQL语句:使用
execute
方法执行创建数据库、创建表和插入数据的多个SQL语句。 - 查询数据:通过再次使用
cursor
查询users
表,并打印结果。 - 关闭连接:使用
finally
确保在操作完成后关闭数据库连接。
关系图
为了更清晰地展示数据库的结构,我们可以使用mermaid
语法绘制关系图,展示users
表的结构。
erDiagram
USERS {
INT id PK "用户ID"
STRING username "用户名"
STRING email "用户邮箱"
}
类图
如果将我们的数据库操作封装为一个类,可以使用mermaid
语法绘制类图,如下所示:
classDiagram
class DatabaseManager {
+connect()
+create_database()
+create_table()
+insert_users()
+query_users()
+close()
}
结尾
通过本文,我们展示了如何使用PyMySQL
库进行数据库操作,如何执行多个SQL语句,以创建一个示例数据库并插入和查询数据。这种方式为Python开发者在处理MySQL数据库时提供了强大而灵活的工具。希望这篇文章能帮助您更好地理解和使用PyMySQL
。