Python 用值填充单个列的SQL查询
我有一个通过pyodbc与之交互的现有SQL数据库表。我编写了一个类,它使用pyodbc通过执行读取、创建和删除列来与数据库交互。我需要的最后一点功能是使用python列表中的值(我计划迭代该列表,然后使用db.commit()完成)填充已创建的列(默认情况下为空),而不影响其他列或添加额外的行 我尝试了以下在for循环中迭代的查询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
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语句,它会只填充最低的索引吗?