在Python中,人们可以使用pysqlite2
类与sqlite数据库交互。
从 pysqlite2 导入 dbapi2 作为 sqlite
向数据库发送命令的一种方法是通过数据库对象:
db = sqlite.connect('mydb.sqlite')
db.execute('CREATE TABLE IF NOT EXISTS t1(a, b, c)')
另一种方法是通过光标:
cur = db.cursor()
cur.execute('CREATE TABLE IF NOT EXISTS t2(x, y, z)')
这两种方式都可以工作并完成工作,但是我怀疑在某些情况下,一种方式优于另一种方式。这些情况是什么?
最佳答案
connection.execute
方法是一个SQLite API扩展; DB-API 未指定:http://www.python.org/dev/peps/pep-0249/ 。它只是创建游标并对其调用 execute
并返回游标的简写。
如果您想确保您的代码能够与其他基于 DB-API 的数据库库一起使用,则不应使用它。
关于python - pysqlite2中数据库对象和游标对象有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4883450/