[英]Cannot insert data into an sqlite3 database using Python
我可以成功使用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 '\
')')
嘗試添加
db.commit()
插入后。
要插入數據,您不需要光標
只需使用數據庫
db.execute()而不是c.execute()並刪除c = db.cursor()行
游標不用於插入數據,但通常用於讀取數據或更新數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.