gpt4 book ai didi

python - Python 中的基本 SQLite 数据库访问问题

转载 作者:行者123 更新时间:2023-11-28 23:06:27 25 4
gpt4 key购买 nike

我有一个名为“default.db”的数据库,它是一个工作数据库 [我可以通过 SQLite 实用程序访问它并查看其中的表]。

我有这个访问数据库的代码:

from pysqlite2 import dbapi2 as sqlite

conn = sqlite.connect("default.db")
cur = conn.cursor()

#retrieve all database data

cur.execute("SELECT name FROM sqlite_master WHERE type='table' ORDER BY name;")
print "fetch all"
cur.fetchall()

print "printing"
print cur
print conn
for i in cur:
print "item"
print i

输出是:

fetch all
printing
<pysqlite2.dbapi2.Cursor object at 0xb74a2de0>
<pysqlite2.dbapi2.Connection object at 0xb74713d8>
done

但是如果我单独运行这些命令,我​​会从代码中得到这个结果:

>>> cur.fetchall()
[(u'cards',), (u'data_for_fact',), (u'fact_views',), (u'fact_views_for_card_type',), (u'facts',), (u'global_variables',), (u'log',), (u'sqlite_sequence',), (u'tags',), (u'tags_for_card',)]

我的问题是:我该如何解决这个问题,出了什么问题?我没有收到任何连接到数据库的错误 [它没有报告任何错误]。

编辑:我尝试将 fetchall 保存到一个变量,但该变量打印为 []。 (空)

最佳答案

我认为您应该遍历 cur.fetchall() 而不是 cur -> 游标本身。

应该是这样的;

for i in cur.fetchall():
print "item"
print i

你还应该删除之前的 cur.fetcall() 命令。

关于python - Python 中的基本 SQLite 数据库访问问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4987705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com