使用Python 2.7.6,如果我想使用存儲在變量中的值(例如整數)將單個記錄添加到SQLite數據庫,我可以執行以下操作:將記錄插入到大量列的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)。
如何將這些代碼瞭解科拉姆的名字呢? –
嗯,它需要知道嗎?例如。在上面的代碼示例中,INSERT語句不需要列名,因爲列的數量和順序與數據項的數量和順序相匹配。 –
您是否試圖在100列表中插入某些內容?你永遠不應該有一個有很多列的表格;這看起來像是一種設計氣味。 –