在Python中,使用SQLAlchemy可以对数据库进行操作。
SQLAlchemy是Python中的一个标准库。
要使用SQLAlchemy,首先要创建连接:
url = mysql+pymysql://root:123@localhost/dbname?charset=utf8mb4
engine = create_engine(url)
注意这里URL的写法,其中,pymysql是在Python3.x中用于连接MYSQL服务器的一个库
Python2中使用mysqldb
通过create_engine,创建数据库引擎engine
会话(session)是通信双方从开始通信到通信结束期间的一个上下文(Context),位于服务器端的内存之中。
会话记录了数据库连接的相关信息,如用户信息,改动是否自动提交等等。
接着建立会话:
Session = sessionmaker(bind = engine, autocommit = False)
session = Session()
sessionmaker生成的是数据库会话类,这个类的实例session可用于操作数据库。
为了在多线程中,使每个线程获得的session对象唯一,可以使用scoped_session:
Dbsession = scoped_session(session)
dbsession = Dbsession()
之后可使用dbsession来操作数据库,如:
dbsession.commit(), dbsession.rollback()等等。