我很困惑,为什么python需要游标对象。我知道JDBC和那里的数据库连接非常直观,但在Python中我与游标对象混淆。此外,我对Cursor.Close()和Connection.close()函数在资源发布方面的函数是什么。

有帮助吗?

解决方案

游标范式不特定于python,但在数据库中是常见的数据结构 根据底层实现,可以生成与数据库相同的连接共享多个游标。关闭光标应该将与查询相关联的免费资源,包括从DB(或获取但未使用但未使用但未使用)的任何结果,但不会消除与数据库本身的连接,以便您可以在同一数据库上获取新的光标没有必要再次进行身份验证。

其他提示

随着其他人提到,Connection()是与数据库的网络连接,它只是真正的用途是返回光标。 pep-249 ,其中dbapi 2.0被指定,没有明确定义什么连接或光标也是每个必须执行的close()方法;只有这样 <module>.connect(). 必须返回一个实例 <module>.Connection. , 那 <module>.Connection.cursor(). 必须返回一个实例 <module>.Cursor. , 和 <module>.Cursor.execute(). 应调用提供的语句并返回生成的行。特别是,它没有定义一个 <module>.Connection.execute(). 但是,虽然具体的实现是可自由实施它们作为扩展。 虽然,根据这些扩展可能是不明智的,因为它意味着您不会成为便携式代码。 DBAPI使这两个级别的要求是因为在某些数据库上没有在没有中间对象的连接上执行。

connection对象是您与数据库的连接,关闭当您完成与数据库一起交谈时。光标对象是从查询中的结果集的迭代器。关闭当您完成该结果集时关闭那些。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top