我想用python中的SQL server查询更新一列,正如您看到的,我正在更新相对列,如下所示: 我有一个CSV文件,其中包含一些相对表的值,如下所示:
CSV文件:(a.CSV)
ART-B-C-ART0015-D-E01
ADC-B-C-ADC00112-V-E01
Python代码:(创建名称值)
ff = pd.read_csv("C:\\a.csv",encoding='cp1252')
ff["Name"]= df["A"].str.extract(r'([a-zA-Z]{3}\d{4,5})') + "-A"
python代码的结果:
ART0015-A
ADC00112-A
表:
A Name FamilyName
ART-B-C-ART0015-D-E01 NULL ART
ADC-B-C-ADC00112-V-E01 NULL ADC00112
A也是表中的一列(不是所有的A记录,而是其中的一些记录),并且基于我要更新的名称列的值。 我的数据库是SQL Server,我不知道如何更新SQL Server中的“名称”列,其中csv文件中的A值等于相对表中的A。 Python代码:
conn = pyodbc.connect('Driver={SQL Server}; Server=ipaddress; Database=dbname; UID=username; PWD= {password};')
cursor = conn.cursor()
conn.commit()
for row in ff.itertuples():
cursor.execute('''UPDATE database.dbo.tablename SET Name where ?
)
conn.commit()
表中的预期结果
A Name FamilyName
ART-B-C-ART0015-D-E01 ART0015-A ART
ADC-B-C-ADC00112-V-E01 ADC00112-A ADC00112
我将使用SQL临时表和内部联接来更新这些值。这只适用于更新SQL表中的记录子集。它还可以有效地更新许多记录
SQL游标
创建临时表
将值插入到临时表中
从临时表更新主表中的值
放下临时桌子
相关问题 更多 >
编程相关推荐