我想知道这两者有什么区别?我经常看到人们使用 .fetchone() ,而我只将 .first() 放在那里。他们是一样的吗?如果不是,一个比另一个快吗?
first()
- 会给你第一行然后关闭。它永远不会给你第二排。
fetchone()
会给你第一行,但你再次调用它会给你第二行,然后是第三行,等等......一旦所有行都被提取,它将返回None
。
这是 MySQL文档中的一个示例(注意:sqlalchemy fetchone() 调用 cursor.fetchone()):
# Using a while loop
cursor.execute("SELECT * FROM employees")
row = cursor.fetchone()
while row is not None:
print(row)
row = cursor.fetchone()
Run Code Online (Sandbox Code Playgroud)
如果您只想要第一行,请使用first()
. 如果您需要所有行但一次只需要一行,请使用fetchone()
.