Python 许多关于SQLAlchemy、DB-API和方言的债务

Python 许多关于SQLAlchemy、DB-API和方言的债务,python,sqlalchemy,dialect,python-db-api,Python,Sqlalchemy,Dialect,Python Db Api,我目前正在进行一项关于炼金术的学术研究,我很难理解一些基本概念 第一个概念是DB-API。据介绍,DB-API只是数据库连接模块/驱动程序应如何实现的规范。在我的理解中,DB-API只是一个规范文档(比如txt或docx文件)。现在问题来了,看看迈克·拜尔自己写的文件摘录: “方言是一个抽象类,存在许多实现,每个实现都针对特定的DBAPI/数据库组合。代表引擎创建的连接将引用此方言进行所有决策,根据使用的目标DBAPI和数据库的不同,可能会有不同的行为。”。 摘自“方言系统”一节 请注意上面粗体

我目前正在进行一项关于炼金术的学术研究,我很难理解一些基本概念

第一个概念是DB-API。据介绍,DB-API只是数据库连接模块/驱动程序应如何实现的规范。在我的理解中,DB-API只是一个规范文档(比如txt或docx文件)。现在问题来了,看看迈克·拜尔自己写的文件摘录:

“方言是一个抽象类,存在许多实现,每个实现都针对特定的DBAPI/数据库组合。代表引擎创建的连接将引用此方言进行所有决策,根据使用的目标DBAPI和数据库的不同,可能会有不同的行为。”。 摘自“方言系统”一节

请注意上面粗体部分

第一个疑问:DB-API组合如何?DB-API不只是一个规范文档吗

第二个疑问:目标DB-API是如何实现的?DB-API不仅仅是任何文档中的规则吗?为什么规范文档有目的地?那个目的地是什么

我怀疑的第二个概念是方言。什么是方言? 网站上的Postgresql方言部分指定了一些方言,如:pscopg2、pg800。这些方言是否与数据库驱动程序或模块不同,并遵循规范

在同一个会话中,站点使用了术语“方言/DBAPI”,因此我对DB-API有疑问。DB-API不只是一个文档吗?我不知道为什么它现在被称为方言

在另一个例子中,他给出了这个例子:mysql+mysqldb://@localhost/test指的是DBAPI/dial的组合。术语DB-API是不同术语的两倍

第三个疑问:有几个DBAPI吗?Tavlez我被搞砸了,因为有两种类型的DBAPI,Python和其他一些DBAPI

下面讨论DB-API(我认为是Python的)和“特定的DB-API”。阅读

Python与数据库通信。SQLAlchemy方言系统是围绕DBAPI的操作构建的,它提供了在特定数据库引擎上为特定DBAPI服务的各个方言类

事实上,我非常困惑和迷茫

据我目前的理解,我理解:

方言与PyMySQL等数据库驱动程序相同

基于读入,方言与数据库连接驱动程序和DB-API是一样的

对不起,如果这个问题让人困惑,我也很困惑

请,我需要澄清这些疑问,以便我可以继续我的课程完成工作


提前谢谢。

我的建议是试着写一个你难以理解的例子,这个问题中有很多概念。。。所以有很多有才华的人,但时间不多。