我是SQLite for python的新手,我对如何在遍历表格时更新行感到困惑。
以下是一些示例代码:
import sqlite3 as lite
points = [
(1,2,3),
(4,5,6),
(7,8,9),
(10,11,12)
]
point_data = lite.connect('points.db')
cur = point_data.cursor()
cur.execute("DROP TABLE IF EXISTS points")
cur.execute("CREATE TABLE points(x1,y1,z1)")
cur.executemany("INSERT INTO points VALUES(?, ?, ?)", points)
cur.execute("SELECT * FROM points")
while True:
row = cur.fetchone()
if row == None:
break
row_sum = row[0]+row[1]+row[2]
我想知道如何使用row_sum
命令将UPDATE
作为第四列插入。在定义表时,是否必须定义第四个“列”?
答案 0 :(得分:3)
是的,但你不会在Python中这样做。
SQL数据库具有固定的结构,您需要在CREATE TABLE语句中创建一个总列,或者通过UPDATE TABLE ... ADD COLUMN语句添加它。
但是,然后,您可以只执行一次UPDATE:
,而不是SELECT后跟UPDATEUPDATE points SET total = (x1 + y1 + z1);
但是请注意,您可能根本不需要在db中存储总数:您可以在执行SELECT时以完全相同的方式动态计算它:
SELECT x1, y1, z1, x1+y1+z1 as total FROM points;