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

Eka*_*Eka 7 python sqlite python-2.7

我正在使用这个示例sqlite 数据库,我的代码是

import sqlite3

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

for row in rows:
    print row
Run Code Online (Sandbox Code Playgroud)

它应该有效但没有输出?我在这里做错了什么?

0 0*_*0 0 7

Connection.execute快捷方式返回一个cursor实例,你需要使用fetchall。在您的代码中,您正在创建一个新的独立游标。

因此:

import sqlite3

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

for row in rows:
    print row
Run Code Online (Sandbox Code Playgroud)

或者不要使用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
Run Code Online (Sandbox Code Playgroud)