python sqlalchemy如果ID =&#34,则从表中删除行;"

时间:2016-08-11 13:53:45

标签: python sqlalchemy

我在同一个.db文件中有两个单独的SQL表。

表1

column1   column2
ggg       values
ttt       values
yyy       values
hhh       values
ddd       values
jjj       values

表2

column1   column2   column3    column4
ggg       values    s_values     words
zzz       values    s_values     words
aaa       values    s_values     words
qqq       values    s_values     words
hyh       values    s_values     words
jjj       values    s_values     words

使用table 1作为基础,如果table 2包含来自table 1的项目,如何删除table 2中的整行?

我想到了下面的代码,但不太确定为什么它不起作用..

abc = pandas.read_sql_table('table1', con=engine)
abc_coll = abc['column1']

xyz = pandas.read_sql_table('table2', con=engine)
xyz_coll = xyz['column1']

for each_item in abc_coll:
    if each_item in xyz_coll:
        connection.execute('DELETE FROM table2 WHERE id = each_item')  
        # How should I write this to delete the entire row
        # It seems like the code is not able to recognize that `each_item` is a variable

另一点

如果不是删除table 2中的行,是否可以使用table 2中的新行更新table 1中的行?

更新

我尝试了下面的代码,但仍然无法正常工作。

connection.execute('DELETE FROM table2 WHERE id = :lala', lala=each_item)  

0 个答案:

没有答案