对python的异步数据库支持。

databases的Python项目详细描述


数据库

Build StatusCoveragePackage version

数据库为一系列数据库提供简单的异步支持。

它允许您使用强大的SQLAlchemy Core进行查询 表达式语言,并提供对postgresql、mysql和sqlite的支持。

数据库适合与任何异步web框架集成,例如StarletteSanicResponderQuartaiohttpTornadoFastAPIBocadillo

文档https://www.encode.io/databases/

社区https://discuss.encode.io/c/databases

需求:python 3.6+


安装

$ pip install databases

您可以使用以下命令安装所需的数据库驱动程序:

$ pip install databases[postgresql]
$ pip install databases[mysql]
$ pip install databases[sqlite]

驱动程序支持是使用asyncpgaiomysqlaiosqlite之一提供的。


快速启动

对于本例,我们将创建一个非常简单的sqlite数据库来运行 质疑。

$ pip install databases[sqlite]
$ pip install ipython

我们现在可以从控制台运行一个简单的示例。

注意,我们希望在这里使用ipython,因为它支持使用await 直接来自控制台的表达式。

# Create a database instance, and connect to it.fromdatabasesimportDatabasedatabase=Database('sqlite:///example.db')awaitdatabase.connect()# Create a table.query="""CREATE TABLE HighScores (id INTEGER PRIMARY KEY, name VARCHAR(100), score INTEGER)"""awaitdatabase.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},]awaitdatabase.execute_many(query=query,values=values)# Run a database query.query="SELECT * FROM HighScores"rows=awaitdatabase.fetch_all(query=query)print('High Scores:',rows)

查看making database queries上的文档 有关如何开始将数据库与sqlalchemy核心表达式一起使用的示例。

--

数据库是BSD licensed代码。在英国布莱顿设计和制造。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在Websphere MQ临时队列上未收到回复   泛型构造函数在Java中的作用是什么?   java在Youtube HTTP请求中指定空格字符   hashmap在Java中如何读取另一个地图中的地图?   如果有类,java将在编译时签入。类派生自另一个类。班   java在安卓 junit测试执行期间捕获logcat输出   java如何在列表中拆分不同类型的字符串   java仅从输入读取某些行?   java在执行jar后继续批处理文件   ICEPDF Java中书签的框架设置   java将文件上传到服务器根目录   java如何在Spring Boot中缓存CompletableFuture的值   java正则表达式来解析命令字符串   java Hibernate按关联属性过滤   使用Java提取HTML标记   java Hibernate配置使用JAR模块中的注释在Spring MVC EAR项目中不起作用   java为什么我在传递给freemarker的哈希映射上得到一个null值,而它不是null?