基于psycopg文档(
http://initd.org/psycopg/docs/usage.html
),光标。execute()可以接受2个参数,SQL语句和一系列将被插入的值。通过这种方式构造insert语句,psycopg可以将python值正确转换为DB格式,并提供针对SQL注入攻击的保护:
...
log="INSERT INTO LOGS (HUMIDITY,TEMPERATURE,PRESSURE,AIR_QUALITY,READING_TIME,LOG_TIME,BASE_STATION_ID) VALUES (%s, %s, %s, %s, %s, %s, %s);"
vals = values[:4] + [datetime.now(),datetime.now(), 1]
write_to_db(log, vals)
...
def write_to_db(LOG, vals):
try:
con = psycopg2.connect(database='dname', user='uname', password='pass')
con.cursor().execute(LOG, vals)
con.commit()
...