python更新mysql数据库表信息时,判断某一数据在不在该表中,在更新,不在插入的代码
时间: 2023-12-18 20:03:08 浏览: 61
可以使用Python的pymysql模块来操作MySQL数据库,实现对表的更新和插入操作。
首先需要连接到MySQL数据库,可以使用以下代码:
```python
import pymysql
# 连接数据库
conn = pymysql.connect(host='localhost', port=3306, user='root', password='123456', database='testdb')
# 获取游标
cursor = conn.cursor()
```
接下来,假设要更新的表名为`user_info`,要更新的字段为`name`和`age`,判断依据为`id`,可以使用以下代码:
```python
# 判断数据是否存在
select_sql = "SELECT * FROM user_info WHERE id=%s"
cursor.execute(select_sql, (id,))
result = cursor.fetchone()
if result:
# 数据存在,执行更新操作
update_sql = "UPDATE user_info SET name=%s, age=%s WHERE id=%s"
cursor.execute(update_sql, (name, age, id))
conn.commit()
else:
# 数据不存在,执行插入操作
insert_sql = "INSERT INTO user_info (name, age) VALUES (%s, %s)"
cursor.execute(insert_sql, (name, age))
conn.commit()
```
其中,`id`、`name`、`age`分别为需要更新或插入的数据的字段值。首先通过查询语句判断数据是否存在,如果存在,执行更新操作;如果不存在,执行插入操作。
最后,记得关闭游标和数据库连接:
```python
# 关闭游标和数据库连接
cursor.close()
conn.close()
```
阅读全文