我有一个字符串值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))