请帮我生成MySQL语句持续更新数据表的Python脚本
时间: 2024-10-13 17:08:11 浏览: 29
当然可以。在Python中,你可以使用`pymysql`库连接到MySQL数据库并编写一个定时任务来持续更新数据表。这里是一个基本的示例脚本,它使用`schedule`库来定期运行函数,该函数负责从其他源获取数据然后插入到表中:
```python
import pymysql
from schedule import Scheduler
import time
# MySQL连接信息
db_config = {
'host': 'your_host',
'user': 'your_user',
'password': 'your_password',
'database': 'your_database'
}
def update_table():
# 假设你有一个函数fetch_data(),它返回新的数据
new_data = fetch_data()
# 连接数据库
connection = pymysql.connect(**db_config)
cursor = connection.cursor()
try:
# 更新SQL语句,例如基于ID的更新
update_sql = "UPDATE your_table SET column_name = %s WHERE id = %s"
for data in new_data:
cursor.execute(update_sql, (data['new_value'], data['id']))
# 提交事务
connection.commit()
print("Data updated successfully")
except Exception as e:
# 如果有错误,回滚事务
connection.rollback()
print(f"Error occurred: {str(e)}")
finally:
cursor.close()
connection.close()
# 定义每隔一段时间运行update_table函数
scheduler = Scheduler()
scheduler.every(10).minutes.do(update_table) # 每10分钟执行一次,你可以调整这个时间间隔
# 开始调度
while True:
scheduler.run_pending()
time.sleep(1)
```
阅读全文