2011-02-03 53 views
2

在Python中,可以使用pysqlite2类与sqlite数据库进行交互。pysqlite2中的数据库对象和游标对象有什么区别?

from pysqlite2 import dbapi2 as 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)') 

这两个方面的工作,做这个工作,但是我怀疑有些情况下,一种方式被推荐给另一种方式。那些情况是什么?

回答

3

connection.execute方法是一个SQLite API扩展;它不是由DB-API指定的:http://www.python.org/dev/peps/pep-0249/。这只是创建一个光标并在其上调用execute的简写,返回光标。

如果您想确保您的代码可以与其他基于DB-API的数据库库一起工作,则不应该使用它。

相关问题