python - pysqlite2中数据库对象和游标对象有什么区别?

标签 python database sqlite cursor pysqlite

在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/

相关文章:

python - 使用Python自动获取分页instagram

mysql - 备份/恢复mysql数据库中的数据

SQL查询计算平均数据

python -c 与 python -<< heredoc

python - matplotlib 轴刻度标签 : getting mantissa and exponent

database - VBA Excel 语法错误查询表达式插入语句中缺少运算符

sql-server - 如何使用 SQL 批量复制获取插入数据记录的标识

android - android 中的 SQLite 数据库中有多个表?

python - 检查sqlalchemy中的sqlite连接错误

python - 在 Python 中按可重复键对 JSON 字典数组进行分组和排序