pymysql 拼接 SQL
在进行数据库操作时,我们经常需要拼接 SQL 语句来实现查询、插入、更新等功能。pymysql 是一个 Python 对 MySQL 数据库进行操作的库,它提供了丰富的方法和功能来帮助我们拼接 SQL 语句,并与数据库进行交互。
本文将介绍如何使用 pymysql 拼接 SQL 语句,并通过代码示例演示其用法。
安装 pymysql
首先,我们需要安装 pymysql 库。可以使用 pip 命令进行安装:
pip install pymysql
连接数据库
在开始拼接 SQL 语句之前,我们需要先连接数据库。pymysql 提供了 connect()
方法来连接 MySQL 数据库。下面是一个示例代码:
import pymysql
# 连接数据库
conn = pymysql.connect(host='localhost', port=3306, user='root', password='password', database='test', charset='utf8')
# 创建一个游标对象
cursor = conn.cursor()
# 执行数据库操作
# 关闭游标
cursor.close()
# 关闭数据库连接
conn.close()
在上述代码中,我们使用 connect()
方法连接了一个名为 test 的数据库。接下来,我们创建了一个游标对象,用于执行数据库操作。最后,我们关闭了游标和数据库连接。
查询数据
查询数据是数据库操作中最常见的操作之一。pymysql 提供了 execute()
方法来执行 SQL 查询语句,并通过 fetchone()
或 fetchall()
方法获取查询结果。
下面是一个简单的示例,演示如何查询所有数据并打印结果:
# 执行 SQL 查询语句
sql = "SELECT * FROM students"
cursor.execute(sql)
# 获取查询结果
result = cursor.fetchall()
# 打印查询结果
for row in result:
print(row)
在上述代码中,我们执行了一个简单的查询语句,返回了 students
表中的所有数据,并通过 fetchall()
方法获取了查询结果。接下来,我们使用循环遍历查询结果,并打印每一行数据。
插入数据
插入数据是向数据库中添加新记录的操作。pymysql 提供了 execute()
方法来执行 SQL 插入语句。
下面是一个示例代码,演示如何向数据库中插入一条新记录:
# 执行 SQL 插入语句
sql = "INSERT INTO students (name, age, gender) VALUES ('Tom', 20, 'Male')"
cursor.execute(sql)
# 提交事务
conn.commit()
在上述代码中,我们执行了一个插入语句,向 students
表中插入了一条新记录。然后,我们通过 commit()
方法提交事务,将修改保存到数据库中。
更新数据
更新数据是修改数据库中现有记录的操作。pymysql 提供了 execute()
方法来执行 SQL 更新语句。
下面是一个示例代码,演示如何更新数据库中的记录:
# 执行 SQL 更新语句
sql = "UPDATE students SET age = 21 WHERE name = 'Tom'"
cursor.execute(sql)
# 提交事务
conn.commit()
在上述代码中,我们执行了一个更新语句,将 students
表中名为 Tom 的记录的年龄修改为 21。然后,我们通过 commit()
方法提交事务,将修改保存到数据库中。
删除数据
删除数据是从数据库中删除现有记录的操作。pymysql 提供了 execute()
方法来执行 SQL 删除语句。
下面是一个示例代码,演示如何从数据库中删除记录:
# 执行 SQL 删除语句
sql = "DELETE FROM students WHERE name = 'Tom'"
cursor.execute(sql)
# 提交事务
conn.commit()
在上述代码中,我们执行了一个删除语句,删除了 students
表中名为 Tom 的记录。然后,我们通过 commit()
方法提交事务,将修改保存到数据库中。
拼接 SQL 语句
除了上述简单的示例外,pymysql 还提供了更灵活的方式来拼接 SQL 语句。我们可以使用 Python 的字符串拼接功能来动态构建 SQL 语句。
下面是一个示例代码,演示如何动态拼接 SQL 语句:
# 动态拼接 SQL 语句