使用Python 2.7.6,如果我想使用存储在变量中的值(例如整数)将单个记录添加到SQLite数据库,我可以执行以下操作:
import sqlite3
w,x,y,z = 0,1,2,3
conn = sqlite3.connect('mydb.db')
conn.execute('CREATE TABLE IF NOT EXISTS data (v1 INTEGER, v2 INTEGER, v3 INTEGER, v4 INTEGER)')
conn.execute('INSERT INTO data VALUES (?,?,?,?)', (w,x,y,z))
conn.commit()
conn.close()
如果要插入单个记录中的值的数量很大(例如100,200,任意?),并存储在序列或集合(如列表,队列,数组等)中,该怎么办?有没有办法修改上面的INSERT语法,以便我只能指定集合的名称而不是非常长的逐项列表?在这种情况下,任何特定的集合类型是否更方便使用?
编辑:上面的代码示例有四个值进入表中的四列。对于有关较大数据的问题,假设数据库表中的列数与要插入的值一样多。
Edit2:我想插入一个由大集合中的值组成的记录。我不想插入许多记录(例如executemany)。
答案 0 :(得分:1)
在您的代码中,(w,x,y,z)
是一个四元素元组;这是你的变量。
您也可以使用列表:
my_little_list = [w, x, y, z]
cursor.execute("...", my_little_list)