使用 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)。
最佳答案
在您的代码中,(w,x,y,z)
是一个四元素元组;这就是你的变量。
您也可以使用列表来代替:
my_little_list = [w, x, y, z]
cursor.execute("...", my_little_list)
关于python-2.7 - 将记录插入具有大量列的 SQLite 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23245825/