我对 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
对象呢?