如何使用python从sqlite获取数据?

时间:2018-10-15 11:08:22

标签: python python-2.7 sqlite

我正在使用此示例sqlite database,我的代码是

import sqlite3

conn=sqlite3.connect('chinook.db')
conn.execute("SELECT * FROM tracks")
rows= conn.cursor().fetchall()

for row in rows:
    print row

它应该可以工作,但是没有输出?我在这里做什么错了?

1 个答案:

答案 0 :(得分:1)

Connection.execute shortcut返回一个cursor实例,您需要将其与fetchall一起使用。在您的代码中,您正在创建一个新的独立游标。

因此:

import sqlite3

conn = sqlite3.connect('chinook.db')
cursor = conn.execute("SELECT * FROM tracks")
rows = cursor.fetchall()

for row in rows:
    print row

或者不要使用Connection.execute快捷键,以免造成混淆:

import sqlite3

conn = sqlite3.connect('chinook.db')
cursor = conn.cursor()
cursor.execute("SELECT * FROM tracks")
rows = cursor.fetchall()

for row in rows:
    print row