📜  SQLAlchemy Core – 创建表

📅  最后修改于: 2022-05-13 01:55:25.328000             🧑  作者: Mango

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检查创建的数据库

使用 sqlite3 创建数据库

使用 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)将元数据绑定到引擎,如果用户数据库中不存在配置文件表,则创建配置文件表。

在 SQLite3 终端中查看的输出

要查看用户数据库中存在的表,请使用命令.tables 。在输出中,当第一次使用该命令时,我们看不到任何输出,这是因为当时没有运行上述代码。运行上述代码然后使用.tables命令后,我们可以在 sqlite3 终端中看到我们使用代码创建的配置文件表存在于用户数据库中。 SELECT 查询也成功执行,这表明该表已创建。但是,没有输出,因为我们没有在表中插入任何条目。