Python 3.x 如何使用psycopg2指定列名

Python 3.x 如何使用psycopg2指定列名,python-3.x,postgresql,psycopg2,Python 3.x,Postgresql,Psycopg2,我有一个SQL语句,例如: INSERT INTO my_table (col1, col2, col3) VALUES (1,2,3) 我使用psycopg2插入数据,如下所示: cur.execute( sql.SQL("INSERT INTO{} VALUES (%s, %s, %s)").format(sql.Identifier('my_table')),[1, 2, 3] ) 但是我不知道如何在insert语句中指定列名?上面

我有一个SQL语句,例如:

INSERT INTO my_table (col1, col2, col3) VALUES (1,2,3)
我使用psycopg2插入数据,如下所示:

 cur.execute(
        sql.SQL("INSERT INTO{} VALUES (%s, %s, %s)").format(sql.Identifier('my_table')),[1, 2, 3]
        )

但是我不知道如何在insert语句中指定列名?上面的sql.sql“假设”1,2,3是按col1、col2和col3的顺序排列的。例如,当我想说insert only col3时,我如何用sql.sql指定列名?

执行的
execute
只是在执行sql代码,因此您可以按照类似的标准提及列

INSERT INTO TABLE_ABC (col_name_1,col_name_2,col_name_3) VALUES (1, 2, 3)"