对数据库表中所有数据进行遍历
核心:SQL中的 LIMIT 与 OFFSET 搭配使用即可。
SELECT * FROM Students LIMIT 1 OFFSET i ;
具体步骤:
0.使用数据库为sqlite3
1.让limit为1
2.让OFFSET按照查询条件进行 i++ ,遍历即可。
这样将会对所有查询结果进行依次遍历,想怎么处理就都行了。
上代码:
"""
如何使用 sqlite3 对表中数据遍历?
核心:sqlite中的 LIMIT 与 OFFSET 搭配使用即可。
让limit为1
让OFFSET按照查询条件进行 i++ ,遍历即可。
这样将会对所有查询结果进行依次遍历,想怎么处理就都行了。
"""
import sqlite3
Db = sqlite3.connect("incomeview.db")
cursor = Db.cursor()
cursor.execute("""CREATE TABLE IF NOT EXISTS Students(
id integer PRIMARY KEY,
name text NOT NULL,
class text NOT NULL,
grade integer);""")
#cursor.execute("""insert into Students(id,name,class,grade) VALUES(3,"mary2","python",99);""")
#cursor.execute("""insert into Students(id,name,class,grade) VALUES(4,"ricky3","python",80);""")
Db.commit()
cursor.execute("""select * from Students;""")
print("part1")
print(cursor.fetchall())
print("part2")
cursor = Db.execute("SELECT count(*) from Students ")
for row in cursor:
print(row[0])
print("part3")
counter = 1
while counter <= row[0]:
cursor.execute("""SELECT * FROM Students LIMIT 1 OFFSET ?""", str(counter - 1))
print(cursor.fetchall())
counter += 1
Db.close()