一般情况下数据库数据量太大的时候,不宜全部读取到内存中。所以这里做一个简单的上下翻页的程序。
# !/usr/bin/python # -*- coding:utf-8 -*- # ++++++++++++++++++++ # author: FMspider # time: 2018-5-28 13:54 # function: 翻页 import pymysql # 执行SQL语句获取数据库数据 def sqlexec(last_nid,is_is): conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='****', db='***', charset='utf8' ) cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) if is_is: cursor.execute('select * from image where id>%s limit 10',last_nid) result = cursor.fetchall() else: cursor.execute('select * from image where id<%s order by id desc limit 10 ', last_nid) result = cursor.fetchall() # 获取的数据是反的 result = list(reversed(result)) # 翻转一下 conn.commit() cursor.close() conn.close() return result # 标志位 current_lest_nid = 0 current_first_nid = 0 # 翻页控制 while True: p = input('1、上一页; 2、下一页\n--->') if p == '2': is_next = True ret = sqlexec(current_lest_nid, is_next) for i in ret: print(i) else: is_next = False ret = sqlexec(current_first_nid,is_next) for i in ret: print(i) current_lest_nid = ret[-1]['id'] current_first_nid = ret[0]['id'] 文章来源: 用python实现简单翻页