SQL查询插入值

时间:2013-10-27 03:30:08

标签: python sql oracle insert for-in-loop

我正在尝试使用Python将值插入数据库表。我已连接到数据库服务器并已使INSERT INTO sql语句工作,但我无法弄清楚如何将列表中的值插入到我的数据库中。我认为我的问题很简单,只是正确地使用了for-in循环,但我不知道如何修复它。

我需要帮助的一句话就是“for in in cur:         cur.execute(“INSERT INTO Events2013 VALUES(i))”)“

以下是我的代码的一部分:

import cx_Oracle
import fileDb
import g

fileDb.loadTeams()
fileDb.loadEvents()

for event in g.eventList:
    print '%s, %s, %s' % (event.eventName, event.eventType, event.dates)

dsn_tns = cx_Oracle.makedsn('hostname', 1521, 'orcl')
con = cx_Oracle.connect('std15', 'std15', dsn_tns)
cur = con.cursor()

for i in cur:
    cur.execute("INSERT INTO Events2013 VALUES (i))")

cur.execute("SELECT * FROM Events2013")
for result in cur:
    print result

cur.execute("COMMIT")
cur.close()
con.close()

1 个答案:

答案 0 :(得分:2)

cur.execute("INSERT INTO Events2013 VALUES (i))")

i不会自动扩展为变量(它作为文字i传递)

我想你需要像

这样的东西
for event in g.eventList:
    cur.execute("INSERT INTO Events2013 VALUES ('%s','%s','%s')" % (event.eventName, event.eventType, event.dates))