gpt4 book ai didi

python - 使用Python脚本更新MySQL表

转载 作者:行者123 更新时间:2023-11-29 10:56:04 24 4
gpt4 key购买 nike

我仍在学习 python,并且在 sql 查询方面遇到困难

我有一个名为diverts的简单表

第 1 列称为chute第 2 列称为

chute 是主键,包含 Fa01Fa60

| chute | five |
|-------|------|
| Fa01 | null |
|-------|------|
| Fa02 | null |
|-------|------|
| Fa03 | null |
|-------|------|

我的脚本中有一个名为 FiveMin 的值列表,其中包含五分钟内与该溜槽相关的特定事件发生的次数。我从其他地方提取这些数据并填充列表。 FiveMin = [1.0, 23.0, 56.0, .... 39.0, 56.0] 总共 60 个元素

我想使用该数据更新列,并且每五分钟更新一次新数据而不是附加它。

我已经使用以下内容成功更新了五列

cursor.executemany('INSERT INTO `ship_diverts` (five) VALUES (%s),(%s),(%s)',
[(item, item, item) for item in fiveMin])

但这只是将数据添加到列,我想根据主键更新每一列

 | chute | five |
|-------|------|
| Fa01 | 1.0 |
|-------|------|
| Fa02 | 23.0 |
|-------|------|
| Fa03 | 56.0 |
|-------|------|

我不知道如何实现这一点,有什么建议吗?

我还有 chute_list = ['Fa01', 'Fa02', .... 'Fa60'],我可以将其传递到主键查询中。

最佳答案

你必须使用mysql更新语句。它看起来像这样:

UPDATE diverts
SET column1=value, column2=value2,...
WHERE chute=some_value

您可以通过首先选择所有主键,将它们放入一个数组中来构建一个对象,然后在它应该去的地方添加您想要的任何值。但这是一般的想法。

还有一个名为“在重复键更新时插入”的语句(如果列存在,它将更新,如果不存在,它将创建新列)。

执行多次:

data = [
( 'Jane', date(2005, 2, 12) , 1),
( 'Joe', date(2006, 5, 23) , 2),
( 'John', date(2010, 10, 3) , 3),
]
stmt = "update employees set first_name = %s, hire_date = %s where id=%s"
cursor.executemany(stmt, data)

execute:


items = [
( 'Jane', date(2005, 2, 12) , 1),
( 'Joe', date(2006, 5, 23) , 2),
( 'John', date(2010, 10, 3) , 3),
]
stmt = "update employees set first_name = %s, hire_date = %s where id=%s"
for item in items
cursor.execute(stmt, item)

关于python - 使用Python脚本更新MySQL表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43006330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com