📜  Python MariaDB – 使用 PyMySQL 更新查询(1)

📅  最后修改于: 2023-12-03 15:34:02.258000             🧑  作者: Mango

Python MariaDB – 使用 PyMySQL 更新查询

在 Python 中,连接 MariaDB 数据库并进行更新查询操作可以使用 PyMySQL 库。PyMySQL 是一个纯 Python 实现的 MySQL 客户端库,用于连接和操作 MySQL 数据库。

以下是使用 PyMySQL 进行更新查询的示例:

连接 MariaDB 数据库

要连接 MariaDB 数据库,首先需要安装 PyMySQL 库。可以使用 pip 命令进行安装:

pip install PyMySQL

然后,在 Python 脚本中导入 PyMySQL 库并连接数据库:

import pymysql

# 连接数据库
conn = pymysql.connect(
    host='localhost',
    user='root',
    password='password',
    database='test_db'
)

其中:

  • host:数据库服务器主机名或 IP 地址。
  • user:登录数据库的用户名。
  • password:登录数据库的密码。
  • database:要连接的数据库名称。
更新查询

使用 PyMySQL 进行更新查询时,需要首先创建一个游标对象用于执行 SQL 语句,然后执行更新查询语句。

以下是一个简单的更新查询示例:

# 创建游标对象
cursor = conn.cursor()

# 更新查询
sql = "UPDATE `users` SET `name` = %s WHERE `id` = %s"
params = ('Alice', 1)
cursor.execute(sql, params)

# 提交更改
conn.commit()

# 关闭游标和连接
cursor.close()
conn.close()

其中:

  • UPDATE:用于更新数据表中的一行或多行数据。
  • SET:用于设置需要更新的列和其新值。
  • WHERE:用于指定要更新的行。

在执行更新查询后,需要使用 commit() 方法提交更改,才能将更改保存到数据库中。

参数化查询

执行更新查询时,通常需要将查询参数化以避免 SQL 注入攻击。PyMySQL 支持使用占位符实现参数化查询。

以下是一个使用占位符进行参数化查询的示例:

# 创建游标对象
cursor = conn.cursor()

# 参数化查询
sql = "UPDATE `users` SET `name` = %s WHERE `id` = %s"
params = ('Bob', 2)
cursor.execute(sql, params)

# 提交更改
conn.commit()

# 关闭游标和连接
cursor.close()
conn.close()

其中,%s 是占位符,可以在执行查询时通过传递参数来替换占位符。

结论

使用 PyMySQL 库,可以在 Python 程序中方便地连接和操作 MariaDB 数据库。建议在执行 SQL 查询时使用参数化方式,以避免 SQL 注入攻击。