📜  SQLAlchemy Core – 创建表(1)

📅  最后修改于: 2023-12-03 14:47:38.980000             🧑  作者: Mango

SQLAlchemy Core - 创建表

SQLAlchemy Core是Python编程语言中最强大的SQL表达库之一。它是一个工具包,专门为SQLAlchemy提供高水平的抽象,使得开发人员可以更加快速和高效地处理数据库表操作。在本篇文章中,我们将介绍如何使用SQLAlchemy Core创建表。

安装SQLAlchemy Core

在开始之前,需要请确保您已经安装了SQLAlchemy Core。您可以通过pip命令来安装:

pip install SQLAlchemy

安装完成后,您可以在Python应用程序中开始使用SQLAlchemy。

创建一个表

使用SQLAlchemy Core创建表时,你应该首先定义一个MetaData实例,该实例充当一个容器来存储整个数据库模式。然后,你可以在MetaData实例中创建表实例,比如下面这种方式:

from sqlalchemy import create_engine, Table, Column, Integer, String, MetaData

engine = create_engine('sqlite:///example.db')
metadata = MetaData()

users = Table('users', metadata,
    Column('id', Integer, primary_key=True),
    Column('name', String),
    Column('age', Integer),
)

metadata.create_all(engine)

在上面的例子中,我们定义了一个users表,该表包含idnameage三个列。其中,id列为主键。MetaData实例metadata则用于将表实例与数据库实例(数据库连接)关联起来。最终使用metadata.create_all(engine)方法来将users表创建到数据库中。

定义表的列

我们之前示例中的每个列都是通过Column来定义的。Column方法的第一个参数是列的名称,第二个参数是类型,第三个是可选的。例如:

from sqlalchemy import Column, Integer, String

users = Table('users', metadata,
    Column('id', Integer, primary_key=True),
    Column('name', String),
    Column('age', Integer),
)

上述行中,Column('id', Integer, primary_key=True)定义了一个名为id的整数类型列,并将其指定为主键。Column('name', String)Column('age', Integer)分别定义了名为name和age的字符串类型和整数类型列。

创建表

当我们定义了数据库架构(模型)后,我们可以将其创建到数据库中。通过调用create_all()方法可以完成该操作。使用create_all()时,我们需要传递引擎(对于SQLite数据库,它需要指定一个文件路径)和一个metadata对象。

engine = create_engine('sqlite:///example.db')
metadata.create_all(engine)
撤销/删除表

您可以使用drop_all()方法来撤销数据库中的表。以下代码可以删除我们之前创建的users表:

metadata.drop_all(engine)
总结

这篇文章介绍了如何使用SQLAlchemy Core来创建和删除数据库表。您可以开始使用这些基本概念来进一步探索和学习SQLAlchemy Core。此外,您还可以查阅SQLAlchemy的官方文档来查找更多的示例和资料,以及找到适合您的具体应用程序的最佳解决方案。