Python 在sqlalchemy中使用引擎

Python 在sqlalchemy中使用引擎,python,database,sqlalchemy,connection,Python,Database,Sqlalchemy,Connection,我很好奇在使用read\u sql\u query通过pandas读取查询时,如何正确地关闭连接。我一直在使用: from sqlalchemy import create_engine import pandas as pd engine = create_engine('credentials') data = pd.read_sql_query(sql_query, engine) 虽然传统用法似乎是这样的: engine = create_engine('credentials')

我很好奇在使用read\u sql\u query通过pandas读取查询时,如何正确地关闭连接。我一直在使用:

from sqlalchemy import create_engine
import pandas as pd

engine = create_engine('credentials')
data = pd.read_sql_query(sql_query, engine)
虽然传统用法似乎是这样的:

engine = create_engine('credentials')
connection = engine.connect()
result = connection.execute(users_table.select())
for row in result:
    # ....
connection.close()
如果我没有像第二种方法那样使用engine.connect()创建“连接”,如何关闭连接?或者,它是在pd.read\u sql\u查询完成后关闭的吗?

From

发动机通常是一个永久性固定装置,安装在前端,并在应用的整个寿命期内进行维护。不打算在每个连接的基础上创建和处理它;相反,它是一个注册表,它维护一个连接池以及有关正在使用的数据库和DBAPI的配置信息,以及每个数据库资源的某种程度的内部缓存

引擎对象根据需要从内部池延迟分配连接。当您调用单个连接对象的
close
方法、返回到该池或“签入”时,这些连接不一定关闭

如果明确需要关闭连接,则应签入所有连接,然后调用
引擎.dispose()
,或者可能需要更改引擎对象使用的池策略,请参阅