插入列表作为新列mysql



我有一个字符串值new_values的列表,我想在companies表我的mysql数据库中插入一个新列。由于我有数百行,因此无法使用?我在SO.

import MySQLdb
cursor = db.cursor()
cursor.execute("INSERT INTO companies ....")
lst_to_add = ["name1", "name2", "name3"]
db.commit()
db.close()

然而,我不确定我应该使用什么查询来传递我的列表,以及包含新的列名的正确语法是什么(例如:"newCol")。

编辑:当前表:

id     originalName     
1      Hannah           
2      Joi              
3      Kale             

预期输出:

id     originalName     fakeName
1      Hannah           name1
2      Joi              name2
3      Kale             name3

使用ALTER TABLE添加新列

cursor.execute("ALTER TABLE companies ADD COLUMN fakeName VARCHAR(100)")

然后遍历数据,更新每一行。您需要Python数据来指示从原始名称到伪名称的映射。例如,你可以使用字典。

names_to_add = {
"Hannah": "name1",
"Joi": "name2",
"Kale": "name3"
}
for oldname, newname in names_to_add.items():
cursor.execute("UPDATE companies SET fakeName = %s WHERE originalName = %s", (newname, oldname))

最新更新