Peewee数据库类

Peewee 包中的 Database 类对象用于与数据库的连接。Peewee 通过 Database 类的相应子类为 SQLite、PostgreSQL 和 MySQL 数据库提供友好的支持。

数据库类实例具有打开与数据库引擎连接所需的所有信息,用于执行查询、管理事务和执行表、列等操作。

数据库类有SqliteDatabasePostgresqlDatabaseMySQLDatabase子类。虽然 SQLite 的 DB-API 驱动程序以 sqlite3 模块的形式包含在 Python 的标准库中,但必须首先安装psycopg2pymysql模块才能在 Peewee 中使用 PostgreSql 和 MySQL 数据库。

使用 Sqlite 数据库

Python 以 sqlite3 模块的形式内置了对 SQLite 数据库的支持。因此,连接起来非常容易。Peewee 中 SqliteDatabase 类的对象代表连接对象。

con=SqliteDatabase(name, pragmas, timeout)

这里,pragma是 SQLite 扩展,用于修改 SQLite 库的操作。此参数是字典或包含每次打开连接时设置的编译指示键和值的 2 元组列表。

超时参数以秒为单位指定,以设置 SQLite 驱动程序的繁忙超时。这两个参数都是可选的。

以下语句创建与新 SQLite 数据库的连接。

>>> db = peewee.SqliteDatabase('mydatabase.db')

pragma 参数通常用于新的数据库连接。在pragmase字典中提到的典型属性有journal_modeCACHE_SIZElocking_mode,foreign-keys等。

>>> db = peewee.SqliteDatabase(
   'test.db', pragmas={'journal_mode': 'wal', 'cache_size': 10000,'foreign_keys': 1}
)

以下为 pragma 设置说明:

Peewee数据库类

Peewee 还有另一个 Python SQLite Wrapper (apsw),一个高级的 SQLite 驱动程序。它提供了高级功能,例如虚拟表和文件系统以及共享连接。APSW 比标准库 sqlite3 模块处理更块

赞(1)

评论 抢沙发

评论前必须登录!