我完全不熟悉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()
Run Code Online (Sandbox Code Playgroud)
这个不是,即使它工作得很好而没有(看似毫无意义)cursor:
import sqlite3
conn = sqlite3.connect("db.sqlite")
conn.execute('''insert into table "users" values ("Jack Bauer", "555-555-5555")''')
conn.commit()
Run Code Online (Sandbox Code Playgroud)
谁能告诉我为什么需要一个cursor?
这看起来似乎毫无意义.对于我的脚本中访问数据库的每个方法,我应该创建并销毁一个cursor?
为什么不直接使用该connection对象?