SQLAlchemy Core – 创建表
在本文中,我们将了解如何使用Python在 SQLAlchemy 中创建表。
SQLAlchemy 是一个包含许多不同组件的大型 SQL 工具包。两个最大的组件是 SQLAlchemy Core 和 SQLAlchemy ORM。它们之间的主要区别是 SQLAlchemy Core 是一个以模式为中心的模型,这意味着一切都被视为数据库的一部分,即行、列、表等,而 SQLAlchemy Core 使用以对象为中心的视图,它将模式与业务对象封装在一起. SQLAlchemy 是一个更 Pythonic 的实现。在这篇文章中,我们将了解 SQLAlchemy 核心以及如何使用它创建表。
安装 SQLAlchemy
SQLAlchemy 可通过 pip install 包获得。
pip install sqlalchemy
但是,如果您使用的是烧瓶,您可以使用它自己的 SQLAlchemy 实现。它可以安装使用 -
pip install flask-sqlalchemy
创建数据库
我们将使用 sqlite3 数据库。按照以下过程创建一个命名用户的数据库:
步骤 1:打开命令提示符并指向sqlite.exe文件所在的目录。
第 2 步:使用命令sqlite3 users.db创建一个名为 users 的数据库,并使用命令.databases检查创建的数据库
使用 SQLAlchemy Core 创建表
首先,让我们看一下整个代码,然后跳转到解释和输出相同
Python
import sqlalchemy as db
# Defining the Engine
engine = db.create_engine('sqlite:///users.db', echo=True)
# Create the Metadata Object
metadata_obj = db.MetaData()
# Define the profile table
# database name
profile = db.Table(
'profile',
metadata_obj,
db.Column('email', db.String, primary_key=True),
db.Column('name', db.String),
db.Column('contact', db.Integer),
)
# Create the profile table
metadata_obj.create_all(engine)
输出:
2021-11-08 11:08:36,988 INFO sqlalchemy.engine.base.Engine ()
2021-11-08 11:08:36,997 INFO sqlalchemy.engine.base.Engine COMMIT
解释:
首先,我们从 sqlalchemy 库中导入所有需求。之后,我们创建用于执行所有操作的引擎,例如创建表、向表中插入或修改值等。从引擎中,我们可以创建可以在其上运行数据库查询的连接。 metadata_obj包含有关我们数据库的所有信息,这就是我们在创建表时传递它的原因。 metadata.create_all(engine)将元数据绑定到引擎,如果用户数据库中不存在配置文件表,则创建配置文件表。
要查看用户数据库中存在的表,请使用命令.tables 。在输出中,当第一次使用该命令时,我们看不到任何输出,这是因为当时没有运行上述代码。运行上述代码然后使用.tables命令后,我们可以在 sqlite3 终端中看到我们使用代码创建的配置文件表存在于用户数据库中。 SELECT 查询也成功执行,这表明该表已创建。但是,没有输出,因为我们没有在表中插入任何条目。