Python的异步数据库支持。
项目描述
Databases
Databases为各种数据库提供简单的异步支持。
它允许您使用强大的SQLAlchemy Core表达式语言进行查询,并支持PostgreSQL、MySQL和SQLite。
Databases适合与任何异步Web框架集成,例如Starlette、Sanic、Responder、Quart、aiohttp、Tornado或FastAPI。
文档: https://www.encode.io/databases/
要求: Python 3.8+
安装
$ pip install databases
支持的数据库驱动程序包括
您可以使用以下方式安装所需的数据库驱动程序
$ pip install databases[asyncpg]
$ pip install databases[aiopg]
$ pip install databases[aiomysql]
$ pip install databases[asyncmy]
$ pip install databases[aiosqlite]
注意,如果您正在使用任何同步SQLAlchemy函数,例如engine.create_all()
或alembic迁移,那么您仍然需要安装同步数据库驱动程序:PostgreSQL的psycopg2和MySQL的pymysql。
快速入门
在这个例子中,我们将创建一个非常简单的SQLite数据库来运行一些查询。
$ pip install databases[aiosqlite]
$ pip install ipython
现在我们可以从控制台运行一个简单的示例。
请注意,我们在这里想使用ipython
,因为它支持在控制台直接使用await
表达式。
# Create a database instance, and connect to it.
from databases import Database
database = Database('sqlite+aiosqlite:///example.db')
await database.connect()
# Create a table.
query = """CREATE TABLE HighScores (id INTEGER PRIMARY KEY, name VARCHAR(100), score INTEGER)"""
await database.execute(query=query)
# Insert some data.
query = "INSERT INTO HighScores(name, score) VALUES (:name, :score)"
values = [
{"name": "Daisy", "score": 92},
{"name": "Neil", "score": 87},
{"name": "Carol", "score": 43},
]
await database.execute_many(query=query, values=values)
# Run a database query.
query = "SELECT * FROM HighScores"
rows = await database.fetch_all(query=query)
print('High Scores:', rows)
查看有关制作数据库查询的文档,了解如何开始使用SQLAlchemy核心表达式与数据库一起使用。
— ⭐️ —
数据库是BSD许可代码。由Brighton,英国设计和构建。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
databases-0.9.0.tar.gz (31.1 kB 查看哈希)
构建分布
databases-0.9.0-py3-none-any.whl (25.6 kB 查看哈希)