我对Python的sqlite3模块(以及与此相关的SQL)完全陌生,这完全让我感到困惑。对cursor
对象的大量描述不足(而是其必要性)似乎也很奇怪。
此代码段是首选的处理方式:
import sqlite3
conn = sqlite3.connect("db.sqlite")
c = conn.cursor()
c.execute('''insert into table "users" values ("Jack Bauer", "555-555-5555")''')
conn.commit()
c.close()
即使它工作得很好,并且没有(似乎毫无意义),它也不是这样cursor
:
import sqlite3
conn = sqlite3.connect("db.sqlite")
conn.execute('''insert into table "users" values ("Jack Bauer", "555-555-5555")''')
conn.commit()
谁能告诉我为什么我需要一个cursor
?
似乎没有意义的开销。对于脚本中访问数据库的每个方法,都应该创建并销毁一个cursor
?
为什么不只是使用connection
对象?