J0A*_*NMM 5 python sqlite cursor
cur.close()完成数据库后,我一直在使用该命令:
import sqlite3
conn = sqlite3.connect('mydb')
cur = conn.cursor()
# whatever actions in the database
cur.close()
Run Code Online (Sandbox Code Playgroud)
但是,我只是在某些情况下看到了以下方法:
import sqlite3
conn = sqlite3.connect('mydb')
cur = conn.cursor()
# whatever actions in the database
cur.close()
conn.close()
Run Code Online (Sandbox Code Playgroud)
在官方文档中,有时光标关闭,有时连接关闭,有时两者兼而有之。
我的问题是:
cur.close()和conn.close()?小智 5
[关于关闭游标]
如果关闭游标,您只是将其标记为无效以处理进一步的请求(“我已完成此操作”)。
因此,在函数/事务结束时,您应该继续关闭游标,向数据库提示该事务已完成。
一个好的模式是使游标短暂存在:您从连接对象中获取一个游标,执行您需要的操作,然后丢弃它。因此,关闭是有意义的,您应该cursor.close()在使用它的代码部分的末尾继续使用。
我相信(找不到任何引用),如果您只是让光标超出范围(函数结束,或简单地del cursor),您应该得到相同的行为。但为了良好的编码实践,您应该明确关闭它。
[连接对象]
当您实际使用完数据库后,您应该关闭与它的连接。这意味着connection.close()