如何通过python程序执行2个sql查询

时间:2014-10-24 18:06:13

标签: python sqlite

如何在python程序中执行2个sql查询,这将访问sqlite数据库。 在这里,我只能执行第一个查询而不能执行第二个查询。?

import sqlite3

conn=sqlite3.connect("suman1.db")

cursor=conn.cursor()
cursor

cursor.execute("select Album.AlbumId,Album.Title,Track.Name,Track.GenreId,Track.UnitPrice from Album inner join Track on Album.AlbumId=Track.AlbumId")

cursor.execute("select Track.TrackId,Album.Title,Track.Name,Track.Unitprice,Track.Bytes from Album inner join Track on Album.AlbumId=Track.AlbumId where UnitPrice=1.99 and Title like '%Season 4%'and GenreId like '%21%'")

for row in cursor.fetchall():
   print row

conn.commit()          
conn.close()       

1 个答案:

答案 0 :(得分:0)

两个查询都已执行。

问题是您从未阅读过第一个查询的结果。 (执行另一个查询会重置光标。)

您必须在执行下一个查询之前阅读结果:

cursor.execute("select ...")

for row in cursor:
    print row

cursor.execute("select ...")

for row in cursor:
    print row

或使用两个游标。