我可以成功使用Python创建数据库并运行execute()方法来创建2个新表并指定列名。但是,我无法将数据插入数据库。这是我试图用来将数据插入数据库的代码:
#! /usr/bin/env python
import sqlite3
companies = ('GOOG', 'AAPL', 'MSFT')
db = sqlite3.connect('data.db')
c = db.cursor()
for company in companies:
c.execute('INSERT INTO companies VALUES (?)', (company,))
以下是我使用以下代码成功创建数据库的代码:
#! /usr/bin/env python
import sqlite3
db = sqlite3.connect('data.db')
db.execute('CREATE TABLE companies ' \
'( '\
'company varchar(255) '\
')')
db.execute('CREATE TABLE data ' \
'( '\
'timestamp int, '\
'company int, '\
'shares_held_by_all_insider int, '\
'shares_held_by_institutional int, '\
'float_held_by_institutional int, '\
'num_institutions int '\
')')
答案 0 :(得分:20)
尝试添加
db.commit()
插入后。
答案 1 :(得分:4)
要插入数据,您不需要光标
只需使用db
db.execute()而不是c.execute()并摆脱c = db.cursor()行
游标不用于插入数据,但通常用于读取数据或更新数据。