连接数据库

SQLAlchemy的数据库连接是先定义engine,再由engine定义sessionengine的定义可以使用以下语句。

from sqlalchemy import create_engine
engine = create_engine('mysql+mysqlconnector://root:password@localhost:3306/test')

create_engine()接受一个连接串作为参数,连接串的格式为:数据库类型+数据库驱动名称://用户名:口令@服务地址:端口号/数据库名。如果需要连接池支持,可以在create_engine()中使用pool_size来定义连接池大小;此外还可以使用max_overflowpool_recyclepool_timeout等来定义相关的连接池特性。如果需要更换连接池实现需要用poolclass来指定使用何种特性的连接池,连接池的实现可以从sqlalchemy.pool中寻找。

定义engine之后,可以使用以下语句建立适用的Session类。

from sqlalchemy.orm import sessionmaker
Session = sessionmaker(bind=engine)

之后就可以使用session = Session()来获得用于数据库操作的连接会话了。连接会话是用来缓存所有数据库操作的缓存区,在其中对数据表的修改,会在会话提交时采用事务完成数据的更新。