首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python sqlite3插入列表

python sqlite3插入列表
EN

Stack Overflow用户
提问于 2017-04-06 04:03:23
回答 1查看 22.4K关注 0票数 2

我有一个python脚本,它应该将一个列表插入到sqlite表中。我的insert语句似乎不起作用。

代码语言:javascript
运行
复制
links = ['a', 'b', 'c']

conn = sqlite3.connect('example.db')

#create a data structure
c = conn.cursor()

#Create table
c.execute('''Create TABLE if not exists server("sites")''')

#Insert links into table
def data_entry():
    sites = links
    c.execute("INSERT INTO server(sites) VALUES(?)", (sites))
    conn.commit()

#query database
c.execute("SELECT * FROM server")
rows = c.fetchall()
for row in rows:
    print(row)

conn.close

我在命令行检查了数据库,但是"server“表是空的:

代码语言:javascript
运行
复制
C:\App\sqlite\sqlite_databases>sqlite3
SQLite version 3.17.0 2017-02-13 16:02:40
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> .tables
server
sqlite> SELECT * FROM server
...> ;
sqlite>

所以看起来列表实际上并没有被插入。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-06 04:12:14

遍历list_并对每一项执行INSERT。并调用data_entry()来实际插入数据。

代码语言:javascript
运行
复制
import sqlite3

list_ = ['a', 'b', 'c']

#create a data structure
conn = sqlite3.connect('example.db')
c = conn.cursor()

#Create table
c.execute('''Create TABLE if not exists server("sites")''')

#Insert links into table
def data_entry():
    for item in list_:
        c.execute("INSERT INTO server(sites) VALUES(?)", (item))
    conn.commit()

data_entry()  # ==> call the function

#query database
c.execute("SELECT * FROM server")
rows = c.fetchall()
for row in rows:
    print(row)

conn.close()
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43240617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档