Ama*_*tam 20 python python-db-api
我很困惑为什么python需要游标对象.我知道jdbc,那里的数据库连接非常直观但是在python中我与游标对象混淆了.另外,我怀疑在资源释放方面cursor.close()和connection.close()函数之间的区别是什么.
连接对象是您与数据库的连接,当您完成与数据库的通信后将其关闭。游标对象是查询结果集的迭代器。当您完成该结果集后,关闭它们。
正如其他人所提到的,a Connection()是与数据库的网络连接,它唯一真正的用途是返回游标. PEP-249(其中指定了DBApi 2.0)没有明确定义连接或游标的确切内容,也没有明确定义close()每个方法必须执行的操作; 只是
<module>.connect()
必须返回的实例
<module>.Connection
,即
<module>.Connection.cursor()
必须返回一个实例
<module>.Cursor
,而
<module>.Cursor.execute()
应该调用提供的声明,并返回结果行.特别是,它没有定义
<module>.Connection.execute()
,尽管具体实现可以自由地将它们实现为扩展.
但是,根据这些扩展可能是不明智的,因为这意味着你不会拥有可移植的代码.DBApi提出了这个两级要求,因为在某些数据库上对连接执行而没有中间对象可能很困难.
| 归档时间: |
|
| 查看次数: |
8442 次 |
| 最近记录: |