开始使用免费开始使用

使用 SQLAlchemy 创建表

之前,您使用 Table 对象从一个「已存在」的数据库中反射出一张表。如果您想创建一张「新」表呢?您仍然会使用 Table 对象;不过,需要把 autoloadautoload_with 参数替换为 Column 对象。

Column 对象需要列名、一个可选格式的 SQLAlchemy 类型,以及用于不同约束的可选关键字参数。

在定义表时,请回忆视频中 Jason 如何通过 Column('name', String(255)) 将字符串的最大长度设置为 255。回看视频中的幻灯片也会有帮助。

定义完成后,您可以在元数据上使用 .create_all() 方法,并仅传入引擎(engine)作为参数,在数据库中创建该表。开始动手吧!

本练习是课程的一部分

Python 中的数据库入门

查看课程

练习说明

  • sqlalchemy 中导入 TableColumnStringIntegerFloatBoolean
  • 构建一个名为 data 的新表,包含 'name'String(255))、'count'Integer())、'amount'Float())和 'valid'Boolean())列。Table() 的第二个参数需要是已初始化的 metadata
  • 通过将 engine 传给 metadata.create_all(),在数据库中创建该表。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Import Table, Column, String, Integer, Float, Boolean from sqlalchemy
from sqlalchemy import ____, ____, ____, ____, ____, ____

# Define a new table with a name, count, amount, and valid column: data
data = Table('data', ____,
             Column(____, ____),
             Column('count', Integer()),
             Column(____, ____),
             Column(____, ____)
)

# Use the metadata to create the table
metadata.create_all(____)

# Print table details
print(repr(data))
编辑并运行代码