查询通常有两种方式:一种是使用cursor.fetchall()获取所有查询结果,然后再一行一行的迭代;另一种每次通过cursor.fetchone()获取一条记录,直到获取的结果为空为止。通过如下方式来验证这两种查询方式的区别:
TEST表内容如下:
(1, 'a', 'b', 'c')
(2, 'aa', 'bb', 'cc')
(3, 'aaa', 'bbb', 'ccc')
输出结果:
1, a, b, c
Number of rows returned: 3
2, aa, bb, cc
Number of rows returned: 3
3, aaa, bbb, ccc
Number of rows returned: 3
Number of rows returned: 3
Number of rows returned: 4
1, a, b, c
Number of rows returned: 5
2, aa, bb, cc
Number of rows returned: 6
3, aaa, bbb, ccc
Number of rows returned: 6
Number of rows returned: 6
TEST表内容如下:
(1, 'a', 'b', 'c')
(2, 'aa', 'bb', 'cc')
(3, 'aaa', 'bbb', 'ccc')
![](https://i-blog.csdnimg.cn/blog_migrate/e4fe61bdab8954922a8884f9ed92d239.png)
![](https://i-blog.csdnimg.cn/blog_migrate/89a7b9305197541d5824efa28846a8fc.png)
输出结果:
1, a, b, c
Number of rows returned: 3
2, aa, bb, cc
Number of rows returned: 3
3, aaa, bbb, ccc
Number of rows returned: 3
Number of rows returned: 3
Number of rows returned: 4
1, a, b, c
Number of rows returned: 5
2, aa, bb, cc
Number of rows returned: 6
3, aaa, bbb, ccc
Number of rows returned: 6
Number of rows returned: 6