VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

使用SQLAlchemy连接数据库

导入

任何使用SQLAlchemy的程序都需要导入SQLAlchemy包。

from sqlalchemy import *

连接数据库

连接数据库使用create_engine()函数,会生成一个基于URL的Engine。这些URL如下RFC-1738形式,通常可以包括用户名、密码、主机名、数据库名以及用于其他配置的可选关键字参数。

在某些情况下接受文件路径,而在其他情况下,“数据源名称”替换“主机”和“数据库”部分。数据库URL的典型形式为:

dialect+driver://username:password@host:port/database

dialect名称包括SQLAlchemy支持的数据库的标识名,如sqlite,mysql,postgresql,oracle或 mssql。

drivername是要使用所有小写字母连接到数据库的DBAPI的名称。如果未指定,则将导入“默认”DBAPI(如果可用)。此默认值通常是该后端可用的最广泛的驱动程序。

建立连接如下:

# default
engine = create_engine('postgresql://user:pass@localhost/mydatabase')

# psycopg2
engine=create_engine('postgresql+psycopg2://user:pass@localhost/mydatabase')

SQLAlchemy使用会话与数据库交谈,ORM对数据库的“处理”是Session。当第一次设置应用程序时,在与create_engine()语句相同的级别上,则定义一个Session类,它将作为新Session对象的工厂。

from sqlalchemy import sessionmaker
DBSession = sessionmaker(bind=engine)
db_session = DBSession()