Python MySQL 更新语句:如何根据特定 station_num 更新记录
Python MySQL 更新语句:如何根据特定 station_num 更新记录
本文将介绍如何使用 Python 和 MySQL Connector 模块根据特定的 station_num 值更新数据库表中的记录。
问题:
如何使用 Python 代码更新 MySQL 数据库中 station_num 为 12145217 的记录?
解决方案:
以下代码展示了如何使用参数化查询来安全高效地更新数据库记录:pythonimport mysql.connector
table_name = 'mytable'mydata = [(12145217, '王老五', 17.23, '2023-12-23 12:56', '合格')]
连接数据库conn = mysql.connector.connect(host='localhost', user='your_username', password='your_password', database='your_database')cursor = conn.cursor()
更新符合条件的记录update_query = f'UPDATE {table_name} SET employeer_name = %s, dist = %s, station_time = %s, result = %s WHERE station_num = %s'cursor.execute(update_query, (mydata[0][1], mydata[0][2], mydata[0][3], mydata[0][4], mydata[0][0]))
conn.commit()print('数据替换成功')
关闭数据库连接cursor.close()conn.close()
代码解释:
- 导入
mysql.connector模块: 这行代码导入了与 MySQL 数据库交互所需的模块。2. 连接数据库: 使用mysql.connector.connect()函数建立与数据库的连接。请将占位符替换为你的数据库凭据。3. 创建游标: 游标用于执行 SQL 查询并获取结果。4. 定义update_query: 该字符串包含 SQLUPDATE语句,使用参数化查询来防止 SQL 注入攻击。 -WHERE station_num = %s指定更新条件,确保只更新station_num为12145217的记录。5. 执行查询:cursor.execute()方法执行update_query,并将mydata中的值作为参数传递。6. 提交更改:conn.commit()方法将更改保存到数据库。7. 关闭连接: 最后,关闭游标和数据库连接以释放资源。
重要提示:
- 确保数据库表中的
station_num字段已设置为唯一索引或主键,以确保只有一个符合条件的记录被更新。- 使用参数化查询可以有效防止 SQL 注入攻击,提高代码的安全性。
原文地址: https://www.cveoy.top/t/topic/bGKM 著作权归作者所有。请勿转载和采集!