📜  SQLAlchemy核心-连接到数据库

📅  最后修改于: 2020-11-27 07:32:17             🧑  作者: Mango


在上一章中,我们讨论了有关SQLAlchemy中的表达语言。现在,让我们继续进行连接数据库所涉及的步骤。

Engine类将Pool和Dialect连接在一起,以提供数据库连接性和行为的来源。使用create_engine()函数实例化Engine类的对象。

create_engine()函数将数据库作为一个参数。不需要在任何地方定义数据库。标准调用表单必须将URL作为第一个位置参数发送,通常是指示数据库方言和连接参数的字符串。使用下面给出的代码,我们可以创建一个数据库。

>>> from sqlalchemy import create_engine
>>> engine = create_engine('sqlite:///college.db', echo = True)

对于MySQL数据库,请使用以下命令-

engine = create_engine("mysql://user:pwd@localhost/college",echo = True)

为了具体提及要用于连接的DB-APIURL字符串采用以下形式-

dialect[+driver]://user:password@host/dbname

例如,如果您将PyMySQL驱动程序与MySQL一起使用,请使用以下命令-

mysql+pymysql://:@/

echo标志是设置SQLAlchemy日志记录的快捷方式,这是通过Python的标准日志记录模块完成的。在随后的章节中,我们将学习所有生成的SQL。要隐藏详细输出,请将echo属性设置为None 。 create_engine()函数的其他参数可能是方言特定的。

create_engine()函数返回Engine对象。引擎类的一些重要方法是-

Sr.No. Method & Description
1

connect()

Returns connection object

2

execute()

Executes a SQL statement construct

3

begin()

Returns a context manager delivering a Connection with a Transaction established. Upon successful operation, the Transaction is committed, else it is rolled back

4

dispose()

Disposes of the connection pool used by the Engine

5

driver()

Driver name of the Dialect in use by the Engine

6

table_names()

Returns a list of all table names available in the database

7

transaction()

Executes the given function within a transaction boundary