使用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()