作为Python和sqlite的新手,我一直在与他们一起玩,最近都在努力弄清楚事情的真相。特别是对于sqlite,我学会了如何打开/关闭/提交数据到数据库。但现在我试图清理一些东西,以便通过函数调用打开/关闭数据库。举例来说,我想这样做:使用函数来打开/关闭sqlite数据库连接?
def open_db():
conn = sqlite3.connect("path)
c = conn.cursor()
def close_db():
c.close()
conn.close()
def create_db():
open_db()
c.execute("CREATE STUFF")
close_db()
然后,当我运行程序之前,我查询或写入表,我可以这样做:
open_db()
c.execute('SELECT * DO STUFF')
OR
c.execute('DELETE * DO OTHER STUFF')
conn.commit
close_db()
我我已经阅读了关于上下文管理器的内容,但我不确定我完全理解他们正在进行什么。清理打开/关闭数据库连接的方式最简单的解决方案是什么,所以我不一定要输入cursor
命令。
谢谢你。什么是合适的方式来处理打开和关闭数据库然后如果不是这样? – Biggen
我在说的是你的函数不会做任何真正有用的事情。把它们留下。和顺便说一句,长期来说,你将不会使用python数据库apis。你最终会想要适应像SQLAlchemy这样的ORM。 – e4c5
好吧,然后我明白了。所以,除非我想使用ORM,否则最好只是将游标和conn全局化,并且每次需要打开/关闭数据库时都要输入它们,而不是使用这些非常简单的函数来处理这个问题。 – Biggen