python-2.7 - 将记录插入具有大量列的 SQLite 表中

标签 python-2.7 sqlite

使用 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/

相关文章:

python - 从此列表中递归地将所有文件和文件夹设置为 777

python - 如何在 Python 2.7 中实现 GMRES 的 ILU 预处理器?

python - 从 Python 更改进程可用的资源

ruby-on-rails - 即使查询正确,Activerecord也无法按属性查找模型

Android,使用 String.format() 处理插入 null

python - pip 安装后错误 "no module named six"

python-2.7 - 如何在 QLineEdit 中隐藏密码

ios - 使用启用了读写(也预填充)的 sqlite 数据库发布 iOS 应用程序

sqlite - 在触发器中插入或忽略

sqlite - 我可以获得 JSON 格式的 SQLite View 吗?