Python 用值填充单个列的SQL查询

Python 用值填充单个列的SQL查询,python,sql,sql-server,pyodbc,Python,Sql,Sql Server,Pyodbc,我有一个通过pyodbc与之交互的现有SQL数据库表。我编写了一个类,它使用pyodbc通过执行读取、创建和删除列来与数据库交互。我需要的最后一点功能是使用python列表中的值(我计划迭代该列表,然后使用db.commit()完成)填充已创建的列(默认情况下为空),而不影响其他列或添加额外的行 我尝试了以下在for循环中迭代的查询 INSERT INTO table_name (required_column) VALUES (value) 因此,类方法 def writeToCo

我有一个通过pyodbc与之交互的现有SQL数据库表。我编写了一个类,它使用pyodbc通过执行读取、创建和删除列来与数据库交互。我需要的最后一点功能是使用python列表中的值(我计划迭代该列表,然后使用db.commit()完成)填充已创建的列(默认情况下为空),而不影响其他列或添加额外的行

我尝试了以下在for循环中迭代的查询

 INSERT INTO table_name (required_column) VALUES (value)
因此,类方法

    def writeToColumn(self, columnName, tableName, writeData):
    for item in writeData:
        self.cursor.execute('INSERT INTO ' + tableName + '(' + columnName + ') VALUES (' + item + ')')

    self.cursor.commit()
其中,value表示列表的当前索引值

但这会添加一个完整的新行,并用空值填充未提及的列的单元格

我想做的是替换一列中的所有数据,而不以任何方式影响其他列。是否有一些查询可以做到这一点


谢谢

毫不奇怪,调用INSERT总是会插入一个新行,因此命名。如果需要更新现有行,则需要调用update

UPDATE table_name SET required_column=value WHERE ...

where条件以某种方式(可能通过主键)标识现有行。

毫不奇怪,调用INSERT将始终插入一个新行,从而获得名称。如果需要更新现有行,则需要调用update

UPDATE table_name SET required_column=value WHERE ...

where条件以某种方式(可能通过主键)标识现有行。

那么基本上您是在寻找更新?语法在网络上随处可见。或者在丹尼尔下面的回复中。那么基本上你是在寻找更新?语法在网络上随处可见。或者在Daniel下面的回答中。如果我没有where语句,它会只填充最低的索引吗?如果我没有where语句,它会只填充最低的索引吗?