你提到的 “Cursor游标如何遍历”,通常指数据库查询返回的游标(Cursor) 的遍历方式。不同语言 / 数据库 API 写法不同,下面按常见场景说明。
游标(Cursor)本质是结果集的指针,遍历就是:
sqlite3 / pymysql 为例)cursor.execute("SELECT id, name FROM user")
# 方式一:for 循环(最常用)
for row in cursor:
print(row["id"], row["name"])
# 方式二:fetchone
while True:
row = cursor.fetchone()
if not row:
break
print(row)
# 方式三:fetchall(小数据量)
rows = cursor.fetchall()
for row in rows:
print(row)
ResultSet rs = stmt.executeQuery("SELECT id, name FROM user");
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
System.out.println(id + " " + name);
}
rs.close();
DECLARE done INT DEFAULT FALSE;
DECLARE uid INT;
DECLARE cur CURSOR FOR SELECT id FROM user;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cur;
read_loop: LOOP
FETCH cur INTO uid;
IF done THEN
LEAVE read_loop;
END IF;
-- 处理 uid
END LOOP;
CLOSE cur;
cursor = db.users.find({})
for doc in cursor:
print(doc["name"])
fetchone / next,避免 fetchall 占内存请告诉我具体场景,例如:
我可以直接给你对应写法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。